[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
02-fyi-closure-pessimize.patch
From: |
Akim Demaille |
Subject: |
02-fyi-closure-pessimize.patch |
Date: |
Wed, 28 Nov 2001 15:51:36 +0100 |
Index: ChangeLog
from Akim Demaille <address@hidden>
* src/closure.c (closure): No longer optimize the special case
where all the bits of `ruleset[r]' are set to 0, to make the code
clearer.
Index: src/closure.c
--- src/closure.c Tue, 27 Nov 2001 23:40:46 +0100 akim
+++ src/closure.c Tue, 27 Nov 2001 23:43:03 +0100 akim
@@ -273,31 +273,24 @@
c = 0;
for (r = 0; r < rulesetsize; ++r)
{
- if (ruleset[r] == 0)
- {
- ruleno += BITS_PER_WORD;
- }
- else
- {
- int b;
+ int b;
- for (b = 0; b < BITS_PER_WORD; b++)
+ for (b = 0; b < BITS_PER_WORD; b++)
+ {
+ if (ruleset[r] & (1 << b))
{
- if (ruleset[r] & (1 << b))
+ itemno = rule_table[ruleno].rhs;
+ while (c < n && core[c] < itemno)
{
- itemno = rule_table[ruleno].rhs;
- while (c < n && core[c] < itemno)
- {
- itemset[itemsetsize] = core[c];
- itemsetsize++;
- c++;
- }
- itemset[itemsetsize] = itemno;
+ itemset[itemsetsize] = core[c];
itemsetsize++;
+ c++;
}
-
- ruleno++;
+ itemset[itemsetsize] = itemno;
+ itemsetsize++;
}
+
+ ruleno++;
}
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- 02-fyi-closure-pessimize.patch,
Akim Demaille <=