Signed-off-by: Tomek Grabiec <tgrab...@gmail.com> --- include/vm/types.h | 2 +- vm/classloader.c | 31 ++----------------------------- vm/types.c | 2 +- 3 files changed, 4 insertions(+), 31 deletions(-)
diff --git a/include/vm/types.h b/include/vm/types.h index 54d2c60..c1b650e 100644 --- a/include/vm/types.h +++ b/include/vm/types.h @@ -15,7 +15,7 @@ enum vm_type { J_RETURN_ADDRESS, }; -extern enum vm_type str_to_type(char *); +extern enum vm_type str_to_type(const char *); extern enum vm_type get_method_return_type(char *); int count_arguments(const char *); diff --git a/vm/classloader.c b/vm/classloader.c index 70f0835..b29d4fa 100644 --- a/vm/classloader.c +++ b/vm/classloader.c @@ -283,33 +283,6 @@ struct vm_class *load_class_from_classpath_file(const char *classpath, return result; } -static enum vm_type class_name_to_vm_type(const char *class_name) -{ - if (class_name[0] == 0 || class_name[1] != 0) - return J_VOID; - - switch (class_name[0]) { - case 'Z': - return J_BOOLEAN; - case 'C': - return J_CHAR; - case 'F': - return J_FLOAT; - case 'D': - return J_DOUBLE; - case 'B': - return J_BYTE; - case 'S': - return J_SHORT; - case 'I': - return J_INT; - case 'J': - return J_LONG; - } - - return J_VOID; -} - struct vm_class *classloader_load_primitive(const char *class_name) { struct vm_class *class; @@ -328,7 +301,7 @@ struct vm_class *classloader_load_primitive(const char *class_name) class->methods = NULL; class->object_size = 0; class->vtable_size = 0; - class->primitive_vm_type = class_name_to_vm_type(class_name); + class->primitive_vm_type = str_to_type(class_name); class->kind = VM_CLASS_KIND_PRIMITIVE; return class; @@ -364,7 +337,7 @@ struct vm_class *load_array_class(const char *class_name) array_class->vtable_size = 0; array_class->kind = VM_CLASS_KIND_ARRAY; - if (class_name_to_vm_type(class_name + 1) != J_VOID) { + if (str_to_type(class_name + 1) != J_REFERENCE) { array_class->array_element_class = classloader_load_primitive(elem_class_name); } else { diff --git a/vm/types.c b/vm/types.c index b21e7a9..9cb72b4 100644 --- a/vm/types.c +++ b/vm/types.c @@ -4,7 +4,7 @@ /* See Table 4.2 in Section 4.3.2 ("Field Descriptors") of the JVM specification. */ -enum vm_type str_to_type(char *type) +enum vm_type str_to_type(const char *type) { switch (type[0]) { case 'V': -- 1.6.0.6 ------------------------------------------------------------------------------ _______________________________________________ Jatovm-devel mailing list Jatovm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jatovm-devel