This commit is contained in:
hyung-hwan 2008-01-16 03:03:40 +00:00
parent 57fec6392e
commit 20f579cfd9
3 changed files with 15 additions and 16 deletions

View File

@ -247,13 +247,13 @@ struct ase_awk_run_t
ase_awk_val_int_t* icache[128]; ase_awk_val_int_t* icache[128];
ase_awk_val_real_t* rcache[128]; ase_awk_val_real_t* rcache[128];
ase_awk_val_ref_t* fcache[128]; ase_awk_val_ref_t* fcache[128];
ase_awk_val_str_t* scache32[128]; /*ase_awk_val_str_t* scache32[128];
ase_awk_val_str_t* scache64[128]; ase_awk_val_str_t* scache64[128];*/
ase_size_t icache_count; ase_size_t icache_count;
ase_size_t rcache_count; ase_size_t rcache_count;
ase_size_t fcache_count; ase_size_t fcache_count;
ase_size_t scache32_count; /*ase_size_t scache32_count;
ase_size_t scache64_count; ase_size_t scache64_count;*/
ase_awk_nde_blk_t* active_block; ase_awk_nde_blk_t* active_block;
ase_byte_t* pattern_range_state; ase_byte_t* pattern_range_state;

View File

@ -745,8 +745,8 @@ static int init_run (
run->icache_count = 0; run->icache_count = 0;
run->rcache_count = 0; run->rcache_count = 0;
run->fcache_count = 0; run->fcache_count = 0;
run->scache32_count = 0; /*run->scache32_count = 0;
run->scache64_count = 0; run->scache64_count = 0;*/
run->errnum = ASE_AWK_ENOERR; run->errnum = ASE_AWK_ENOERR;
run->errlin = 0; run->errlin = 0;
@ -965,7 +965,7 @@ static void deinit_run (ase_awk_run_t* run)
ase_awk_freeval (run, (ase_awk_val_t*)tmp, ase_false); ase_awk_freeval (run, (ase_awk_val_t*)tmp, ase_false);
} }
while (run->scache32_count > 0) /*while (run->scache32_count > 0)
{ {
ase_awk_val_str_t* tmp = run->scache32[--run->scache32_count]; ase_awk_val_str_t* tmp = run->scache32[--run->scache32_count];
ase_awk_freeval (run, (ase_awk_val_t*)tmp, ase_false); ase_awk_freeval (run, (ase_awk_val_t*)tmp, ase_false);
@ -975,7 +975,7 @@ static void deinit_run (ase_awk_run_t* run)
{ {
ase_awk_val_str_t* tmp = run->scache64[--run->scache64_count]; ase_awk_val_str_t* tmp = run->scache64[--run->scache64_count];
ase_awk_freeval (run, (ase_awk_val_t*)tmp, ase_false); ase_awk_freeval (run, (ase_awk_val_t*)tmp, ase_false);
} }*/
} }
static int build_runarg ( static int build_runarg (

View File

@ -135,7 +135,7 @@ ase_awk_val_t* ase_awk_makestrval (
ase_awk_val_str_t* val; ase_awk_val_str_t* val;
ase_size_t rlen = len; ase_size_t rlen = len;
if (rlen <= 32) /*if (rlen <= 32)
{ {
if (run->scache32_count > 0) if (run->scache32_count > 0)
{ {
@ -152,7 +152,7 @@ ase_awk_val_t* ase_awk_makestrval (
goto init; goto init;
} }
rlen = 64; rlen = 64;
} }*/
val = (ase_awk_val_str_t*) ASE_AWK_MALLOC ( val = (ase_awk_val_str_t*) ASE_AWK_MALLOC (
run->awk, run->awk,
@ -206,7 +206,7 @@ ase_awk_val_t* ase_awk_makestrval2 (
ase_awk_val_str_t* val; ase_awk_val_str_t* val;
ase_size_t rlen = len1 + len2; ase_size_t rlen = len1 + len2;
if (rlen <= 32) /*if (rlen <= 32)
{ {
if (run->scache32_count > 0) if (run->scache32_count > 0)
{ {
@ -223,7 +223,7 @@ ase_awk_val_t* ase_awk_makestrval2 (
goto init; goto init;
} }
rlen = 64; rlen = 64;
} }*/
val = (ase_awk_val_str_t*) ASE_AWK_MALLOC ( val = (ase_awk_val_str_t*) ASE_AWK_MALLOC (
run->awk, run->awk,
@ -403,7 +403,7 @@ void ase_awk_freeval (ase_awk_run_t* run, ase_awk_val_t* val, ase_bool_t cache)
} }
else if (val->type == ASE_AWK_VAL_STR) else if (val->type == ASE_AWK_VAL_STR)
{ {
/*ASE_AWK_FREE (run->awk, ((ase_awk_val_str_t*)val)->buf);*/ /*
if (cache) if (cache)
{ {
ase_awk_val_str_t* v = (ase_awk_val_str_t*)val; ase_awk_val_str_t* v = (ase_awk_val_str_t*)val;
@ -419,7 +419,7 @@ void ase_awk_freeval (ase_awk_run_t* run, ase_awk_val_t* val, ase_bool_t cache)
} }
else ASE_AWK_FREE (run->awk, val); else ASE_AWK_FREE (run->awk, val);
} }
else ASE_AWK_FREE (run->awk, val); else*/ ASE_AWK_FREE (run->awk, val);
} }
else if (val->type == ASE_AWK_VAL_REX) else if (val->type == ASE_AWK_VAL_REX)
{ {
@ -434,8 +434,7 @@ void ase_awk_freeval (ase_awk_run_t* run, ase_awk_val_t* val, ase_bool_t cache)
} }
else if (val->type == ASE_AWK_VAL_REF) else if (val->type == ASE_AWK_VAL_REF)
{ {
if (cache == ase_true && if (cache && run->fcache_count < ASE_COUNTOF(run->fcache))
run->fcache_count < ASE_COUNTOF(run->fcache))
{ {
run->fcache[run->fcache_count++] = run->fcache[run->fcache_count++] =
(ase_awk_val_ref_t*)val; (ase_awk_val_ref_t*)val;