Signed-off-by: Tomek Grabiec <[email protected]>
---
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/jatovm-devel