Author: sewardj
Date: 2007-10-06 15:34:45 +0100 (Sat, 06 Oct 2007)
New Revision: 6960

Log:
Speed up nextIterFM by avoiding at least half of the pushes/pops,
by partially evaluating the forwards paths from case 1: and case: 3.

Modified:
   branches/THRCHECK/thrcheck/tc_wordfm.c


Modified: branches/THRCHECK/thrcheck/tc_wordfm.c
===================================================================
--- branches/THRCHECK/thrcheck/tc_wordfm.c      2007-10-06 11:49:11 UTC (rev 
6959)
+++ branches/THRCHECK/thrcheck/tc_wordfm.c      2007-10-06 14:34:45 UTC (rev 
6960)
@@ -632,9 +632,10 @@
    // keeping this loop in this simpler form.
    while (stackPop(fm, &n, &i)) {
       switch (i) {
-      case 1: 
+      case 1: case_1:
          stackPush(fm, n, 2);
-         if (n->child[0])  stackPush(fm, n->child[0], 1);
+         /* if (n->child[0])  stackPush(fm, n->child[0], 1); */
+         if (n->child[0]) { n = n->child[0]; goto case_1; }
          break;
       case 2: 
          stackPush(fm, n, 3);
@@ -642,7 +643,8 @@
          if (pVal) *pVal = n->val;
          return True;
       case 3:
-         if (n->child[1]) stackPush(fm, n->child[1], 1);
+         /* if (n->child[1]) stackPush(fm, n->child[1], 1); */
+         if (n->child[1]) { n = n->child[1]; goto case_1; }
          break;
       default:
          tl_assert(0);


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Valgrind-developers mailing list
Valgrind-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-developers

Reply via email to