RPA Toolkit
Fixed broken RPA tests, involving array of RPA records.
authorMartin Stoilov <martin@rpasearch.com>
Sun, 29 May 2011 01:04:55 +0000 (18:04 -0700)
committerMartin Stoilov <martin@rpasearch.com>
Sun, 29 May 2011 01:04:55 +0000 (18:04 -0700)
tests/testrpa/common.h
tests/testrpa/rpacompiler-rulealtrec.c
tests/testrpa/rpacompiler-rulerec.c

index f00a240..1330e18 100644 (file)
@@ -1,7 +1,7 @@
 #include "rvmcpu.h"
 #include <stdio.h>
 
-#define EXECDEBUG 1
+#define EXECDEBUG 0
 
 
 #define VMTEST_REG(code, reg, val, msg) \
index e72756d..08d07f2 100644 (file)
@@ -132,13 +132,14 @@ int main(int argc, char *argv[])
        rpastat_t *stat;
        ruint mainoff;
        rint i;
+       rarray_t *records = rpa_records_create();
        char teststr[] = "123-4567ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ";
 
        co = rpa_compiler_create();
        stat = rpa_stat_create(NULL, 4096);
        rvm_cpu_addswitable(stat->cpu, "common_table", common_calltable);
 
-       rpa_stat_init(stat, teststr, teststr, teststr+30, NULL);
+       rpa_stat_init(stat, teststr, teststr, teststr+30, records);
 
        mainoff = rvm_codegen_addins(co->cg, rvm_asml(RVM_NOP, XX, XX, XX, -1));
        rvm_codegen_addins(co->cg, rvm_asml(RVM_MOV, R_TOP, DA, XX, -1));
@@ -160,8 +161,8 @@ int main(int argc, char *argv[])
 
        rpa_stat_cachedisable(stat, 0);
        rvm_cpu_exec(stat->cpu, rvm_codegen_getcode(co->cg, 0), mainoff);
-       for (i = 0;  i < r_array_length(stat->records); i++) {
-               rpa_record_dump(stat->records, i);
+       for (i = 0;  i < r_array_length(records); i++) {
+               rpa_record_dump(records, i);
        }
 
        r_printf("(%s) Matched size: %s(cache hits: %d)\n", argv[0], RVM_CPUREG_GETU(stat->cpu, R0) == 8 ? "PASSED" : "FAILED", stat->cache->hit);
@@ -169,6 +170,7 @@ int main(int argc, char *argv[])
 end:
        rpa_stat_destroy(stat);
        rpa_compiler_destroy(co);
+       rpa_records_destroy(records);
 
 
 //     r_printf("Max alloc mem: %ld\n", r_debug_get_maxmem());
index 0bd936d..55e115a 100644 (file)
@@ -74,13 +74,14 @@ int main(int argc, char *argv[])
        rpastat_t *stat;
        ruint mainoff;
        rint i;
+       rarray_t *records = rpa_records_create();
        char teststr[] = "abcabcxyzabc";
 
        co = rpa_compiler_create();
        stat = rpa_stat_create(NULL, 4096);
        rvm_cpu_addswitable(stat->cpu, "common_table", common_calltable);
 
-       rpa_stat_init(stat, teststr, teststr, teststr+12, NULL);
+       rpa_stat_init(stat, teststr, teststr, teststr+12, records);
 
        mainoff = rvm_codegen_addins(co->cg, rvm_asml(RVM_NOP, XX, XX, XX, -1));
        rvm_codegen_addins(co->cg, rvm_asml(RVM_MOV, R_TOP, DA, XX, -1));
@@ -102,8 +103,8 @@ int main(int argc, char *argv[])
 
        rvm_cpu_exec(stat->cpu, rvm_codegen_getcode(co->cg, 0), mainoff);
 
-       for (i = 0; i < r_array_length(stat->records); i++) {
-               rparecord_t *rec = (rparecord_t *)r_array_slot(stat->records, i);
+       for (i = 0; i < r_array_length(records); i++) {
+               rparecord_t *rec = (rparecord_t *)r_array_slot(records, i);
                r_printf("%3d : ", i);
                if (rec->type & RPA_RECORD_START)
                        r_printf("START ");
@@ -117,7 +118,7 @@ int main(int argc, char *argv[])
 end:
        rpa_stat_destroy(stat);
        rpa_compiler_destroy(co);
-
+       rpa_records_destroy(records);
 
        r_printf("Max alloc mem: %ld\n", r_debug_get_maxmem());
        r_printf("Leaked mem: %ld\n", r_debug_get_allocmem());