sas             Mon Dec  9 10:28:23 2002 EDT

  Modified files:              
    /php4/ext/ircg      ircg_scanner.c ircg_scanner.re 
  Log:
  turn frequently called functions into macros to reduce function call
  and pointer dereference overhead.
  
  
Index: php4/ext/ircg/ircg_scanner.c
diff -u php4/ext/ircg/ircg_scanner.c:1.20 php4/ext/ircg/ircg_scanner.c:1.21
--- php4/ext/ircg/ircg_scanner.c:1.20   Sun Dec  1 01:30:01 2002
+++ php4/ext/ircg/ircg_scanner.c        Mon Dec  9 10:28:23 2002
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.5 on Sun Dec  1 07:27:15 2002 */
+/* Generated by re2c 0.5 on Mon Dec  9 16:23:46 2002 */
 #line 1 "/lrg2/php4/ext/ircg/ircg_scanner.re"
 /*
    +----------------------------------------------------------------------+
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: ircg_scanner.c,v 1.20 2002/12/01 06:30:01 sas Exp $ */
+/* $Id: ircg_scanner.c,v 1.21 2002/12/09 15:28:23 sas Exp $ */
 
 #include "php_ircg_alloc.h"
 
@@ -78,10 +78,9 @@
 #define STD_PARA ircg_msg_scanner *ctx, const char *start, const char *YYCURSOR
 #define STD_ARGS ctx, start, YYCURSOR
 
-static inline void passthru(STD_PARA)
-{
-       smart_str_appendl_ex(ctx->result, start, YYCURSOR - start, 1);
-}
+#define PASSTHRU() do {                                                               
+                                 \
+       smart_str_appendl_ex(result, start, YYCURSOR - start, 1);               \
+} while (0)
 
 static inline void handle_scheme(STD_PARA)
 {
@@ -186,10 +185,9 @@
        }
 }
 
-static void add_entity(STD_PARA, const char *entity)
-{
-       smart_str_appends_ex(ctx->result, entity, 1);
-}
+#define ADD_CONST(entity) do {                                                        
+         \
+       smart_str_appends_ex(result, entity, 1);                                       
+ \
+} while (0)
 
 void ircg_mirc_color(const char *msg, smart_str *result, size_t msg_len, int 
auto_links, int gen_br) 
 {
@@ -310,43 +308,43 @@
                if(yych <= 'z') goto yy25;
        }
 yy4:
-#line 234
-       { passthru(STD_ARGS); goto state_plain; }
+#line 232
+       { PASSTHRU(); goto state_plain; }
 yy5:   yych = *++YYCURSOR;
 yy6:
-#line 225
+#line 223
        { mctx.fg_code = mctx.bg_code = -1; goto state_color_fg; }
 yy7:   yych = *++YYCURSOR;
 yy8:
-#line 226
-       { add_entity(STD_ARGS, "&lt;"); goto state_plain; }
+#line 224
+       { ADD_CONST("&lt;"); goto state_plain; }
 yy9:   yych = *++YYCURSOR;
 yy10:
-#line 227
-       { add_entity(STD_ARGS, "&gt;"); goto state_plain; }
+#line 225
+       { ADD_CONST("&gt;"); goto state_plain; }
 yy11:  yych = *++YYCURSOR;
 yy12:
-#line 228
-       { add_entity(STD_ARGS, "&amp;"); goto state_plain; }
+#line 226
+       { ADD_CONST("&amp;"); goto state_plain; }
 yy13:  yych = *++YYCURSOR;
 yy14:
-#line 229
-       { add_entity(STD_ARGS, "&quot;"); goto state_plain; }
+#line 227
+       { ADD_CONST("&quot;"); goto state_plain; }
 yy15:  yych = *++YYCURSOR;
 yy16:
-#line 230
-       { if (gen_br) smart_str_appendl_ex(result, "<br>", 4, 1); goto state_plain; }
+#line 228
+       { if (gen_br) ADD_CONST("<br>"); goto state_plain; }
 yy17:  yych = *++YYCURSOR;
 yy18:
-#line 231
+#line 229
        { handle_bold(STD_ARGS, 0); goto state_plain; }
 yy19:  yych = *++YYCURSOR;
 yy20:
-#line 232
+#line 230
        { handle_underline(STD_ARGS, 0); goto state_plain; }
 yy21:  yych = *++YYCURSOR;
 yy22:
-#line 233
+#line 231
        { handle_italic(STD_ARGS, 0); goto state_plain; }
 yy23:  yych = *++YYCURSOR;
        goto yy4;
@@ -361,10 +359,10 @@
        if(yych != '/') goto yy2;
 yy28:  yych = *++YYCURSOR;
 yy29:
-#line 224
-       { if (auto_links) { handle_scheme(STD_ARGS); goto state_url; } else { 
passthru(STD_ARGS); goto state_plain; } }
+#line 222
+       { if (auto_links) { handle_scheme(STD_ARGS); goto state_url; } else { 
+PASSTHRU(); goto state_plain; } }
 }
-#line 235
+#line 233
 
 
 state_url:             
@@ -430,19 +428,19 @@
 yy32:  yych = *++YYCURSOR;
        goto yy37;
 yy33:
-#line 240
+#line 238
        { handle_url(STD_ARGS); goto state_plain; }
 yy34:  yych = *++YYCURSOR;
 yy35:
-#line 241
-       { passthru(STD_ARGS); goto state_plain; }
+#line 239
+       { PASSTHRU(); goto state_plain; }
 yy36:  ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
 yy37:  if(yybm[0+yych] & 128)  goto yy36;
        goto yy33;
 }
-#line 242
+#line 240
 
 
 
@@ -462,16 +460,16 @@
        if(yych <= '/') goto yy41;
        if(yych <= '9') goto yy44;
 yy41:
-#line 248
+#line 246
        { handle_color_digit(STD_ARGS, 0); goto state_color_comma; }
 yy42:  yych = *++YYCURSOR;
 yy43:
-#line 249
-       { finish_color_stuff(STD_ARGS); passthru(STD_ARGS); goto state_plain; }
+#line 247
+       { finish_color_stuff(STD_ARGS); PASSTHRU(); goto state_plain; }
 yy44:  yych = *++YYCURSOR;
        goto yy41;
 }
-#line 250
+#line 248
 
 
                
@@ -488,14 +486,14 @@
        if(yych != ',') goto yy49;
 yy47:  yych = *++YYCURSOR;
 yy48:
-#line 256
+#line 254
        { goto state_color_bg; }
 yy49:  yych = *++YYCURSOR;
 yy50:
-#line 257
+#line 255
        { YYCURSOR--; commit_color_stuff(STD_ARGS); goto state_plain; }
 }
-#line 258
+#line 256
 
 
 
@@ -515,16 +513,16 @@
        if(yych <= '/') goto yy54;
        if(yych <= '9') goto yy57;
 yy54:
-#line 264
+#line 262
        { handle_color_digit(STD_ARGS, 1); commit_color_stuff(STD_ARGS); goto 
state_plain; }
 yy55:  yych = *++YYCURSOR;
 yy56:
-#line 265
+#line 263
        { commit_color_stuff(STD_ARGS); goto state_plain; }
 yy57:  yych = *++YYCURSOR;
        goto yy54;
 }
-#line 266
+#line 264
 
 
 stop:
Index: php4/ext/ircg/ircg_scanner.re
diff -u php4/ext/ircg/ircg_scanner.re:1.19 php4/ext/ircg/ircg_scanner.re:1.20
--- php4/ext/ircg/ircg_scanner.re:1.19  Sun Dec  1 01:30:01 2002
+++ php4/ext/ircg/ircg_scanner.re       Mon Dec  9 10:28:23 2002
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: ircg_scanner.re,v 1.19 2002/12/01 06:30:01 sas Exp $ */
+/* $Id: ircg_scanner.re,v 1.20 2002/12/09 15:28:23 sas Exp $ */
 
 #include "php_ircg_alloc.h"
 
@@ -89,10 +89,9 @@
 #define STD_PARA ircg_msg_scanner *ctx, const char *start, const char *YYCURSOR
 #define STD_ARGS ctx, start, YYCURSOR
 
-static inline void passthru(STD_PARA)
-{
-       smart_str_appendl_ex(ctx->result, start, YYCURSOR - start, 1);
-}
+#define PASSTHRU() do {                                                               
+                                 \
+       smart_str_appendl_ex(result, start, YYCURSOR - start, 1);               \
+} while (0)
 
 static inline void handle_scheme(STD_PARA)
 {
@@ -197,10 +196,9 @@
        }
 }
 
-static void add_entity(STD_PARA, const char *entity)
-{
-       smart_str_appends_ex(ctx->result, entity, 1);
-}
+#define ADD_CONST(entity) do {                                                        
+         \
+       smart_str_appends_ex(result, entity, 1);                                       
+ \
+} while (0)
 
 void ircg_mirc_color(const char *msg, smart_str *result, size_t msg_len, int 
auto_links, int gen_br) 
 {
@@ -221,24 +219,24 @@
        if (xp >= end) goto stop;
        start = YYCURSOR;
 /*!re2c
-       scheme "://"    { if (auto_links) { handle_scheme(STD_ARGS); goto state_url; } 
else { passthru(STD_ARGS); goto state_plain; } }
+       scheme "://"    { if (auto_links) { handle_scheme(STD_ARGS); goto state_url; } 
+else { PASSTHRU(); goto state_plain; } }
        coloresc                { mctx.fg_code = mctx.bg_code = -1; goto 
state_color_fg; }
-       "<"                             { add_entity(STD_ARGS, "&lt;"); goto 
state_plain; }
-       ">"                             { add_entity(STD_ARGS, "&gt;"); goto 
state_plain; }
-       "&"                             { add_entity(STD_ARGS, "&amp;"); goto 
state_plain; }
-       winquotes               { add_entity(STD_ARGS, "&quot;"); goto state_plain; }
-       ircnl                   { if (gen_br) smart_str_appendl_ex(result, "<br>", 4, 
1); goto state_plain; }
+       "<"                             { ADD_CONST("&lt;"); goto state_plain; }
+       ">"                             { ADD_CONST("&gt;"); goto state_plain; }
+       "&"                             { ADD_CONST("&amp;"); goto state_plain; }
+       winquotes               { ADD_CONST("&quot;"); goto state_plain; }
+       ircnl                   { if (gen_br) ADD_CONST("<br>"); goto state_plain; }
        bold                    { handle_bold(STD_ARGS, 0); goto state_plain; }
        underline               { handle_underline(STD_ARGS, 0); goto state_plain; }
        italic                  { handle_italic(STD_ARGS, 0); goto state_plain; }
-       anynoneof               { passthru(STD_ARGS); goto state_plain; }
+       anynoneof               { PASSTHRU(); goto state_plain; }
 */
 
 state_url:             
        start = YYCURSOR;
 /*!re2c
        [-a-zA-Z0-9~_?=.@&+/#:;!*'()%,$]+               { handle_url(STD_ARGS); goto 
state_plain; }
-       any                             { passthru(STD_ARGS); goto state_plain; }
+       any                             { PASSTHRU(); goto state_plain; }
 */
 
 
@@ -246,7 +244,7 @@
        start = YYCURSOR;
 /*!re2c
        digit digit?            { handle_color_digit(STD_ARGS, 0); goto 
state_color_comma; }
-       any                                     { finish_color_stuff(STD_ARGS); 
passthru(STD_ARGS); goto state_plain; }
+       any                                     { finish_color_stuff(STD_ARGS); 
+PASSTHRU(); goto state_plain; }
 */
 
                



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to