6 rpastat_t *rpa_stat_create(rulong stacksize)
8 rpastat_t *stat = (rpastat_t *) r_zmalloc(sizeof(*stat));
9 stat->cpu = rpavm_cpu_create(stacksize);
14 stat->records = r_array_create(sizeof(rparecord_t));
15 stat->cpu->userdata1 = stat;
20 void rpa_stat_destroy(rpastat_t *stat)
23 r_free(stat->instack);
24 r_object_destroy((robject_t*)stat->records);
25 rpavm_cpu_destroy(stat->cpu);
30 rint rpa_stat_init(rpastat_t *stat, const rchar *input, const rchar *start, const rchar *end)
38 if (input < start || input > end) {
48 if (stat->instacksize < size) {
49 stat->instack = r_realloc(stat->instack, (size + 1) * sizeof(rpainput_t));
50 stat->instacksize = size + 1;
52 stat->ip.input = input;
54 r_array_setlength(stat->records, 0);
59 rint rpa_stat_parse(rpastat_t *stat, const rchar *input, const rchar *start, const rchar *end)
61 if (rpa_stat_parse(stat, input, start, end) < 0)