Signed-off-by: Vegard Nossum <vegard.nos...@gmail.com> --- include/vm/types.h | 1 + vm/types.c | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/include/vm/types.h b/include/vm/types.h index dc944d9..9b5c2f6 100644 --- a/include/vm/types.h +++ b/include/vm/types.h @@ -20,6 +20,7 @@ enum vm_type { extern enum vm_type str_to_type(const char *); extern enum vm_type get_method_return_type(char *); +extern unsigned int vm_type_size(enum vm_type); int skip_type(const char **type); int count_arguments(const char *); diff --git a/vm/types.c b/vm/types.c index 778375a..e54e711 100644 --- a/vm/types.c +++ b/vm/types.c @@ -42,6 +42,25 @@ enum vm_type get_method_return_type(char *type) return str_to_type(type + 1); } +unsigned int vm_type_size(enum vm_type type) +{ + static const int size[VM_TYPE_MAX] = { + [J_VOID] = 0, + [J_REFERENCE] = sizeof(void *), + [J_BYTE] = 1, + [J_SHORT] = 2, + [J_INT] = 4, + [J_LONG] = 8, + [J_CHAR] = 2, + [J_FLOAT] = 4, + [J_DOUBLE] = 8, + [J_BOOLEAN] = 1, + [J_RETURN_ADDRESS] = sizeof(void *), + }; + + return size[type]; +} + #include <stdio.h> static int count_skip_arguments(const char **type); -- 1.6.0.6 ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Jatovm-devel mailing list Jatovm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jatovm-devel