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

Reply via email to