60 {
"int" , NULL, NULL, NULL,
"java/lang/Integer",
'I',
"[I", NULL },
61 {
"long" , NULL, NULL, NULL,
"java/lang/Long",
'J',
"[J", NULL },
62 {
"float" , NULL, NULL, NULL,
"java/lang/Float",
'F',
"[F", NULL },
63 {
"double" , NULL, NULL, NULL,
"java/lang/Double",
'D',
"[D", NULL },
64 { NULL , NULL, NULL, NULL, NULL, 0 , NULL, NULL },
65 {
"byte" , NULL, NULL, NULL,
"java/lang/Byte",
'B',
"[B", NULL },
66 {
"char" , NULL, NULL, NULL,
"java/lang/Character",
'C',
"[C", NULL },
67 {
"short" , NULL, NULL, NULL,
"java/lang/Short",
'S',
"[S", NULL },
68 {
"boolean" , NULL, NULL, NULL,
"java/lang/Boolean",
'Z',
"[Z", NULL },
69 { NULL , NULL, NULL, NULL, NULL, 0 , NULL, NULL },
70 #if defined(ENABLE_JAVASE)
71 {
"void" , NULL, NULL, NULL,
"java/lang/Void",
'V', NULL, NULL }
73 { NULL , NULL, NULL, NULL, NULL, 0 , NULL, NULL },
103 if (primitivetype_table[
i].cname == NULL)
131 vm_abort(
"linker_init: linking failed");
142 if (primitivetype_table[
i].arrayname != NULL) {
148 vm_abort(
"primitive_init: loading failed");
153 vm_abort(
"primitive_init: linking failed");
170 if (primitivetype_table[
i].cname == NULL)
179 vm_abort(
"primitive_init: loading failed");
182 vm_abort(
"primitive_init: linking failed");
214 if (primitivetype_table[
i].cname == NULL)
236 if (primitivetype_table[
i].name == name)
319 if (primitivetype_table[
i].name == name)
354 if (primitivetype_table[
i].class_wrap == c)
375 if (primitivetype_table[
i].class_primitive == c)
399 o =
box((uint8_t) value.
i);
402 o =
box((int8_t) value.
i);
405 o =
box((uint16_t) value.
i);
408 o =
box((int16_t) value.
i);
427 os::abort(
"Primitive::box: Invalid primitive type %d", type);
487 os::abort(
"Primitive::unbox: Invalid primitive type %d", type);
643 os::abort(
"Primitive::unbox_typed: Invalid primitive type %d", type);
static float unbox_float(java_handle_t *o)
dummy_java_lang_Class object
classinfo * class_java_lang_Long
classinfo * load_newly_created_array(classinfo *c, classloader_t *loader)
static uint16_t unbox_char(java_handle_t *o)
static classinfo * get_class_by_type(int type)
Returns the primitive class of the given type.
void set_value(int16_t value)
classinfo * class_java_lang_Float
classinfo * class_java_lang_Short
static int32_t unbox_int(java_handle_t *o)
static int get_type_by_primitiveclass(classinfo *c)
Returns the primitive type of the given primitive-class.
classinfo * class_java_lang_Character
void set_value(float value)
void set_value(int64_t value)
classinfo * load_class_bootstrap(Utf8String name)
static java_handle_t * box(int type, imm_union value)
Box a primitive of the given type.
static classinfo * get_arrayclass_by_type(int type)
Returns the primitive array-class of the given type.
static classinfo * get_class_by_name(Utf8String name)
Returns the primitive class of the given class name.
JNIEnv jclass jobject const char * name
static int16_t unbox_short(java_handle_t *o)
static imm_union unbox(java_handle_t *o)
Unbox a primitive of the given type.
#define TRACESUBSYSTEMINITIALIZATION(text)
classinfo * class_primitive
java_handle_t * builtin_new(classinfo *c)
void vm_abort(const char *text,...)
#define LLNI_class_get(obj, variable)
classinfo * class_java_lang_Byte
static int get_type_by_wrapperclass(classinfo *c)
Returns the primitive type of the given wrapper-class.
static void initialize_table()
Fill the primitive type table with the primitive-type classes, array-classes and wrapper classes...
classinfo * class_java_lang_Class
static uint8_t unbox_boolean(java_handle_t *o)
Unbox a primitive type.
void set_value(double value)
static Utf8String from_utf8(const char *, size_t)
static double unbox_double(java_handle_t *o)
void set_value(int8_t value)
void set_value(int32_t value)
void set_value(uint16_t value)
static int64_t unbox_long(java_handle_t *o)
static void post_initialize_table()
Finish the primitive-type table initialization.
classinfo * class_java_lang_Integer
classinfo * link_class(classinfo *c)
static classinfo * get_arrayclass_by_name(Utf8String name)
Returns the primitive array-class of the given primitive class name.
static bool unbox_typed(java_handle_t *o, int type, imm_union *value)
Unbox a primitive of the given type.
void set_value(uint8_t value)
classinfo * class_java_lang_Double
static int8_t unbox_byte(java_handle_t *o)
static classinfo * get_class_by_char(char ch)
Returns the primitive class of the given type.
classinfo * class_create_classinfo(Utf8String classname)
primitivetypeinfo primitivetype_table[PRIMITIVETYPE_MAX]
classinfo * class_java_lang_Boolean