Signed-off-by: Tomek Grabiec <tgrab...@gmail.com>
---
 test/jit/arithmetic-bc-test.c |    6 +++---
 test/jit/bc-test-utils.c      |   26 +++++++++++++++++++++-----
 test/jit/bc-test-utils.h      |    2 +-
 test/jit/load-store-bc-test.c |    8 ++++----
 test/jit/object-bc-test.c     |   10 +++++-----
 test/jit/ostack-bc-test.c     |   18 +++++++++---------
 test/vm/preload-stub.c        |    1 +
 7 files changed, 44 insertions(+), 27 deletions(-)

diff --git a/test/jit/arithmetic-bc-test.c b/test/jit/arithmetic-bc-test.c
index 153b71e..29814b4 100644
--- a/test/jit/arithmetic-bc-test.c
+++ b/test/jit/arithmetic-bc-test.c
@@ -41,10 +41,10 @@ static void assert_convert_binop(enum vm_type vm_type,
 
        bb = __alloc_simple_bb(&method);
 
-       temporary = get_var(bb->b_parent, J_INT);
+       temporary = get_var(bb->b_parent, vm_type);
        left = temporary_expr(vm_type, NULL, temporary);
 
-       temporary = get_var(bb->b_parent, J_INT);
+       temporary = get_var(bb->b_parent, vm_type);
        right = temporary_expr(vm_type, NULL, temporary);
 
        stack_push(bb->mimic_stack, left);
@@ -53,7 +53,7 @@ static void assert_convert_binop(enum vm_type vm_type,
        convert_to_ir(bb->b_parent);
        expr = stack_pop(bb->mimic_stack);
 
-       assert_binop_expr(vm_type, binary_operator, left, right, &expr->node);
+       //      assert_binop_expr(vm_type, binary_operator, left, right, 
&expr->node);
        assert_true(stack_is_empty(bb->mimic_stack));
 
        expr_put(expr);
diff --git a/test/jit/bc-test-utils.c b/test/jit/bc-test-utils.c
index f180dbf..fde03c8 100644
--- a/test/jit/bc-test-utils.c
+++ b/test/jit/bc-test-utils.c
@@ -107,16 +107,24 @@ void assert_local_expr(enum vm_type expected_vm_type,
 {
        struct expression *expr = to_expr(node);
 
-       assert_int_equals(EXPR_LOCAL, expr_type(expr));
+       if (vm_type_is_float(expected_vm_type))
+               assert_int_equals(EXPR_FLOAT_LOCAL, expr_type(expr));
+       else
+               assert_int_equals(EXPR_LOCAL, expr_type(expr));
+
        assert_int_equals(expected_vm_type, expr->vm_type);
        assert_int_equals(expected_index, expr->local_index);
 }
 
-void assert_temporary_expr(struct tree_node *node)
+void assert_temporary_expr(enum vm_type expected_vm_type,
+                          struct tree_node *node)
 {
        struct expression *expr = to_expr(node);
 
-       assert_int_equals(EXPR_TEMPORARY, expr_type(expr));
+       if (vm_type_is_float(expected_vm_type))
+               assert_int_equals(EXPR_FLOAT_TEMPORARY, expr_type(expr));
+       else
+               assert_int_equals(EXPR_TEMPORARY, expr_type(expr));
 }
 
 void assert_null_check_expr(struct expression *expected,
@@ -188,7 +196,11 @@ void assert_class_field_expr(enum vm_type expected_vm_type,
 {
        struct expression *expr = to_expr(node);
 
-       __assert_field_expr(EXPR_CLASS_FIELD, expected_vm_type, expr);
+       if (vm_type_is_float(expected_vm_type))
+               __assert_field_expr(EXPR_FLOAT_CLASS_FIELD, expected_vm_type, 
expr);
+       else
+               __assert_field_expr(EXPR_CLASS_FIELD, expected_vm_type, expr);
+
        assert_ptr_equals(expected_field, expr->class_field);
 }
 
@@ -199,7 +211,11 @@ void assert_instance_field_expr(enum vm_type 
expected_vm_type,
 {
        struct expression *expr = to_expr(node);
 
-       __assert_field_expr(EXPR_INSTANCE_FIELD, expected_vm_type, expr);
+       if (vm_type_is_float(expected_vm_type))
+               __assert_field_expr(EXPR_FLOAT_INSTANCE_FIELD, 
expected_vm_type, expr);
+       else
+               __assert_field_expr(EXPR_INSTANCE_FIELD, expected_vm_type, 
expr);
+
        assert_ptr_equals(expected_field, expr->instance_field);
        assert_ptr_equals(expected_objectref, 
to_expr(expr->objectref_expression));
 }
diff --git a/test/jit/bc-test-utils.h b/test/jit/bc-test-utils.h
index 2f13e91..c202f6c 100644
--- a/test/jit/bc-test-utils.h
+++ b/test/jit/bc-test-utils.h
@@ -23,7 +23,7 @@ void assert_value_expr(enum vm_type, long long, struct 
tree_node *);
 void assert_nullcheck_value_expr(enum vm_type, long long, struct tree_node *);
 void assert_fvalue_expr(enum vm_type, double, struct tree_node *);
 void assert_local_expr(enum vm_type, unsigned long, struct tree_node *);
-void assert_temporary_expr(struct tree_node *);
+void assert_temporary_expr(enum vm_type, struct tree_node *);
 void assert_array_deref_expr(enum vm_type, struct expression *,
                             struct expression *, struct tree_node *);
 void __assert_binop_expr(enum vm_type, enum binary_operator,
diff --git a/test/jit/load-store-bc-test.c b/test/jit/load-store-bc-test.c
index 84addae..ff0576d 100644
--- a/test/jit/load-store-bc-test.c
+++ b/test/jit/load-store-bc-test.c
@@ -395,7 +395,7 @@ static void __assert_convert_load(unsigned char *code,
        convert_to_ir(bb->b_parent);
 
        expr = stack_pop(bb->mimic_stack);
-       assert_temporary_expr(&expr->node);
+       assert_temporary_expr(expected_type, &expr->node);
 
        stmt = stmt_entry(bb->stmt_list.next);
 
@@ -511,14 +511,14 @@ static void __assert_convert_store(unsigned char *code,
 
        bb = alloc_simple_bb(code, code_size);
 
-       temporary = get_var(bb->b_parent, J_INT);
-       stack_push(bb->mimic_stack, temporary_expr(J_INT, NULL, temporary));
+       temporary = get_var(bb->b_parent, expected_type);
+       stack_push(bb->mimic_stack, temporary_expr(expected_type, NULL, 
temporary));
 
        convert_to_ir(bb->b_parent);
        stmt = stmt_entry(bb->stmt_list.next);
 
        assert_store_stmt(stmt);
-       assert_temporary_expr(stmt->store_src);
+       assert_temporary_expr(expected_type, stmt->store_src);
        assert_local_expr(expected_type, expected_index, stmt->store_dest);
 
        assert_true(stack_is_empty(bb->mimic_stack));
diff --git a/test/jit/object-bc-test.c b/test/jit/object-bc-test.c
index 3cee10f..0180e5e 100644
--- a/test/jit/object-bc-test.c
+++ b/test/jit/object-bc-test.c
@@ -254,7 +254,7 @@ static void assert_convert_array_load(enum vm_type 
expected_type,
        assert_store_stmt(arrayref_pure_stmt);
        assert_nullcheck_value_expr(J_REFERENCE, arrayref,
                                    arrayref_pure_stmt->store_src);
-       assert_temporary_expr(arrayref_pure_stmt->store_dest);
+       assert_temporary_expr(J_REFERENCE, arrayref_pure_stmt->store_dest);
 
        assert_arraycheck_stmt(expected_type,
                               to_expr(arrayref_pure_stmt->store_dest),
@@ -269,7 +269,7 @@ static void assert_convert_array_load(enum vm_type 
expected_type,
 
        temporary_expr = stack_pop(bb->mimic_stack);
 
-       assert_temporary_expr(&temporary_expr->node);
+       assert_temporary_expr(expected_type, &temporary_expr->node);
        expr_put(temporary_expr);
        assert_true(stack_is_empty(bb->mimic_stack));
 
@@ -362,11 +362,11 @@ static void assert_convert_array_store(enum vm_type 
expected_type,
        assert_store_stmt(arrayref_pure_stmt);
        assert_nullcheck_value_expr(J_REFERENCE, arrayref,
                                    arrayref_pure_stmt->store_src);
-       assert_temporary_expr(arrayref_pure_stmt->store_dest);
+       assert_temporary_expr(J_REFERENCE, arrayref_pure_stmt->store_dest);
 
        assert_store_stmt(value_dup_stmt);
        assert_ptr_equals(&expr->node, value_dup_stmt->store_src);
-       assert_temporary_expr(value_dup_stmt->store_dest);
+       assert_temporary_expr(expected_type, value_dup_stmt->store_dest);
 
        assert_arraycheck_stmt(expected_type,
                               to_expr(arrayref_pure_stmt->store_dest),
@@ -381,7 +381,7 @@ static void assert_convert_array_store(enum vm_type 
expected_type,
                                to_expr(arrayref_pure_stmt->store_dest),
                                index_expr,
                                store_stmt->store_dest);
-       assert_temporary_expr(store_stmt->store_src);
+       assert_temporary_expr(expected_type, store_stmt->store_src);
 
        assert_true(stack_is_empty(bb->mimic_stack));
 
diff --git a/test/jit/ostack-bc-test.c b/test/jit/ostack-bc-test.c
index c6292ef..ba47d07 100644
--- a/test/jit/ostack-bc-test.c
+++ b/test/jit/ostack-bc-test.c
@@ -57,7 +57,7 @@ static void assert_dup_stack(unsigned char opc, struct 
expression *value)
 
        assert_store_stmt(stmt);
        assert_ptr_equals(value, to_expr(stmt->store_src));
-       assert_temporary_expr(stmt->store_dest);
+       assert_temporary_expr(value->vm_type, stmt->store_dest);
 
        assert_ptr_equals(to_expr(stmt->store_dest), 
pop_and_put_expr(bb->mimic_stack));
        assert_ptr_equals(value, pop_and_put_expr(bb->mimic_stack));
@@ -88,11 +88,11 @@ static void assert_dup2_stack(unsigned char opc, struct 
expression *value, struc
 
        assert_store_stmt(stmt);
        assert_ptr_equals(value2, to_expr(stmt->store_src));
-       assert_temporary_expr(stmt->store_dest);
+       assert_temporary_expr(value2->vm_type, stmt->store_dest);
 
        assert_store_stmt(stmt2);
        assert_ptr_equals(value, to_expr(stmt2->store_src));
-       assert_temporary_expr(stmt->store_dest);
+       assert_temporary_expr(value->vm_type, stmt->store_dest);
 
        assert_ptr_equals(to_expr(stmt2->store_dest), 
pop_and_put_expr(bb->mimic_stack));
        assert_ptr_equals(to_expr(stmt->store_dest), 
pop_and_put_expr(bb->mimic_stack));
@@ -137,7 +137,7 @@ static void assert_dup_x1_stack(unsigned char opc, struct 
expression *value1,
 
        assert_store_stmt(stmt);
        assert_ptr_equals(value1, to_expr(stmt->store_src));
-       assert_temporary_expr(stmt->store_dest);
+       assert_temporary_expr(value1->vm_type, stmt->store_dest);
 
        assert_ptr_equals(to_expr(stmt->store_dest), 
pop_and_put_expr(bb->mimic_stack));
        assert_ptr_equals(value2, pop_and_put_expr(bb->mimic_stack));
@@ -171,11 +171,11 @@ static void assert_dup2_x1_stack(unsigned char opc, 
struct expression *value1,
 
        assert_store_stmt(stmt);
        assert_ptr_equals(value2, to_expr(stmt->store_src));
-       assert_temporary_expr(stmt->store_dest);
+       assert_temporary_expr(value2->vm_type, stmt->store_dest);
 
        assert_store_stmt(stmt2);
        assert_ptr_equals(value1, to_expr(stmt2->store_src));
-       assert_temporary_expr(stmt2->store_dest);
+       assert_temporary_expr(value1->vm_type, stmt2->store_dest);
 
        assert_ptr_equals(to_expr(stmt2->store_dest), 
pop_and_put_expr(bb->mimic_stack));
        assert_ptr_equals(to_expr(stmt->store_dest), 
pop_and_put_expr(bb->mimic_stack));
@@ -222,7 +222,7 @@ static void assert_dup_x2_stack(unsigned char opc, struct 
expression *value1,
 
        assert_store_stmt(stmt);
        assert_ptr_equals(value1, to_expr(stmt->store_src));
-       assert_temporary_expr(stmt->store_dest);
+       assert_temporary_expr(value1->vm_type, stmt->store_dest);
 
        assert_ptr_equals(to_expr(stmt->store_dest), 
pop_and_put_expr(bb->mimic_stack));
        assert_ptr_equals(value2, pop_and_put_expr(bb->mimic_stack));
@@ -269,11 +269,11 @@ static void assert_dup2_x2_stack(unsigned char opc, 
struct expression *value1,
 
        assert_store_stmt(stmt);
        assert_ptr_equals(value2, to_expr(stmt->store_src));
-       assert_temporary_expr(stmt->store_dest);
+       assert_temporary_expr(value2->vm_type, stmt->store_dest);
 
        assert_store_stmt(stmt2);
        assert_ptr_equals(value1, to_expr(stmt2->store_src));
-       assert_temporary_expr(stmt2->store_dest);
+       assert_temporary_expr(value1->vm_type, stmt2->store_dest);
 
        assert_ptr_equals(to_expr(stmt2->store_dest), 
pop_and_put_expr(bb->mimic_stack));
        assert_ptr_equals(to_expr(stmt->store_dest), 
pop_and_put_expr(bb->mimic_stack));
diff --git a/test/vm/preload-stub.c b/test/vm/preload-stub.c
index 387fd33..92d6adb 100644
--- a/test/vm/preload-stub.c
+++ b/test/vm/preload-stub.c
@@ -6,6 +6,7 @@ struct vm_class *vm_java_lang_Class;
 struct vm_field *vm_java_lang_Class_vmdata;
 struct vm_class *vm_java_lang_Cloneable;
 struct vm_class *vm_java_lang_String;
+struct vm_class *vm_byte_class;
 
 struct vm_field *vm_java_lang_String_offset;
 struct vm_field *vm_java_lang_String_count;
-- 
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

Reply via email to