Mercurial > hg > Applications > Grep
diff regexParser/cerium/ppe/Exec.cc @ 303:cc770cd8d000
parallel retrying seach worked
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 08 Feb 2016 11:56:13 +0900 |
parents | 27414e6fb33c |
children | c48a8671ce34 |
line wrap: on
line diff
--- a/regexParser/cerium/ppe/Exec.cc Mon Feb 08 08:59:38 2016 +0900 +++ b/regexParser/cerium/ppe/Exec.cc Mon Feb 08 11:56:13 2016 +0900 @@ -10,16 +10,12 @@ /* これは必須 */ SchedDefineTask1(Exec,blockedGrep); -TSValue blockSearch(TransitionGeneratorPtr tg,Buffer buff,int task_spawned) { - TSValue tsv = createTSValue(tg,buff); - BlockOutput blk; - tsv.blk = &blk; - tsv.current = tg->stateStart->tState; +TSValue blockSearch(TSValue tsv,Buffer buff,int task_spawned) { + tsv.current = tsv.tg->stateStart->tState; tsv.blk->result = NULL; ResultPtr result = NULL; tsv.blk->resultEnd = &result; - unsigned char *end = tsv.buff.buffend; - tsv.buff.buffend = end; + tsv.blk->blockBegin = tsv.current; tsv = tSearch(tsv); tsv.blk->blockEnd = tsv.current; addResult(tsv,true,buff.buff,buff.buffend); // entire buffer @@ -56,10 +52,13 @@ Buffer buff; buff.buff = buff.buffptr = i_data; buff.buffend = buff.buff + length; - TSValue tsv = blockSearch(tg,buff,task_spawned); + BlockOutput blk; + TSValue tsv = createTSValue(tg,buff); + tsv.blk = &blk; + tsv = blockSearch(tsv,buff,task_spawned); // resultPrint(tsv.result,"Exec"); o_data[0] = (unsigned long)tsv.blk->result; - o_data[1] = (unsigned long)tsv.blk->blockBegin->state; + o_data[1] = (unsigned long)tsv.blk->blockBegin->state; // never used now o_data[2] = (unsigned long)tsv.blk->blockEnd->state; return 0; }