gawk-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gawk-diffs] [SCM] gawk branch, gawk_performance, updated. 15010185527cd


From: John Haque
Subject: [gawk-diffs] [SCM] gawk branch, gawk_performance, updated. 15010185527cdfbbe1adedcb1551ba7a84156aa5
Date: Sun, 21 Aug 2011 11:08:55 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gawk".

The branch, gawk_performance has been updated
       via  15010185527cdfbbe1adedcb1551ba7a84156aa5 (commit)
      from  9f4b6c25cd7ef4532bb9ec2e53026bf10a44708c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.sv.gnu.org/cgit/gawk.git/commit/?id=15010185527cdfbbe1adedcb1551ba7a84156aa5

commit 15010185527cdfbbe1adedcb1551ba7a84156aa5
Author: john haque <address@hidden>
Date:   Sun Aug 21 05:54:38 2011 -0500

    Add a test input file and code cleanups.

diff --git a/array.c b/array.c
index 9b12e97..4806686 100644
--- a/array.c
+++ b/array.c
@@ -51,7 +51,6 @@ static int num_atypes = 0;
  *     index 0 : initialization.
  *     index 1 : check if index is compatible.
  *     index 8 : array dump, memory and other statistics (do_adump).
- *                Also used by debugger 'examine' command.
  */
  
 
diff --git a/awk.h b/awk.h
index dcf3e9a..985e1c0 100644
--- a/awk.h
+++ b/awk.h
@@ -414,13 +414,13 @@ typedef struct exp_node {
 
 /* Node_hashnode, Node_param_list */
 #define hnext  sub.nodep.r.rptr
-#define        hname   vname
-#define        hlength sub.nodep.reserved
+#define hname  vname
+#define hlength        sub.nodep.reserved
 #define hcode  sub.nodep.cnt
 #define hvalue sub.nodep.x.extra
 
 /* Node_param_list, Node_func */
-#define        param_cnt  sub.nodep.l.ll
+#define param_cnt  sub.nodep.l.ll
 /* Node_param_list */
 #define param      vname
 
@@ -433,13 +433,13 @@ typedef struct exp_node {
 #define re_flags sub.nodep.reflags
 #define re_text lnode
 #define re_exp sub.nodep.x.extra
-#define        re_cnt  flags
+#define re_cnt flags
 
 /* Node_val */
 #define stptr  sub.val.sp
 #define stlen  sub.val.slen
 #define valref sub.val.sref
-#define        stfmt   sub.val.idx
+#define stfmt  sub.val.idx
 #define wstptr sub.val.wsp
 #define wstlen sub.val.wslen
 #define numbr  sub.val.fltnum
@@ -1011,7 +1011,6 @@ extern int do_flags;
 #define do_dump_vars        (do_flags & DO_DUMP_VARS)
 #define do_tidy_mem         (do_flags & DO_TIDY_MEM)
 #define do_sandbox          (do_flags & DO_SANDBOX)
-#define do_annotate         (do_flags & DO_ANNOTATE)
 
 
 extern int do_optimize;
diff --git a/cint_array.c b/cint_array.c
index e7eb09f..72cd737 100644
--- a/cint_array.c
+++ b/cint_array.c
@@ -464,17 +464,19 @@ cint_dump(NODE *symbol, NODE *ndump)
        NODE *tn, *xn = NULL;
        int indent_level;
        size_t i;
-       long cint_size = 0, int_size = 0;
+       long cint_size = 0, xsize = 0;
        AWKNUM kb = 0;
        extern AWKNUM int_kilobytes(NODE *symbol);
+       extern AWKNUM str_kilobytes(NODE *symbol);
+       extern array_ptr int_array_func[];
 
        indent_level = ndump->alevel;
 
        if (symbol->xarray != NULL) {
                xn = symbol->xarray;
-               int_size = xn->table_size;      /* FIXME -- can be int_array or 
str_array */
+               xsize = xn->table_size;
        }
-       cint_size = symbol->table_size - int_size;
+       cint_size = symbol->table_size - xsize;
        
        if ((symbol->flags & XARRAY) == 0)
                fprintf(output_fp, "%s `%s'\n",
@@ -493,7 +495,7 @@ cint_dump(NODE *symbol, NODE *ndump)
        fprintf(output_fp, "THRESHOLD: %ld\n", THRESHOLD);
        indent(indent_level);
        fprintf(output_fp, "table_size: %ld (total), %ld (cint), %ld (int + 
str)\n",
-                               symbol->table_size, cint_size, int_size);
+                               symbol->table_size, cint_size, xsize);
        indent(indent_level);
        fprintf(output_fp, "array_capacity: %lu\n", (unsigned long) 
symbol->array_capacity);
        indent(indent_level);
@@ -508,8 +510,13 @@ cint_dump(NODE *symbol, NODE *ndump)
        }
        kb += (INT32_BIT * sizeof(NODE *)) / 1024.0;    /* symbol->nodes */     
        kb += (symbol->array_capacity * sizeof(NODE *)) / 1024.0;       /* 
value nodes in Node_array_leaf(s) */
-       if (xn != NULL)
-               kb += int_kilobytes(xn);        /* FIXME: can be str_array or 
int_array ? */
+       if (xn != NULL) {
+               if (xn->array_funcs == int_array_func)
+                       kb += int_kilobytes(xn);
+               else
+                       kb += str_kilobytes(xn);
+       }
+
        indent(indent_level);
        fprintf(output_fp, "memory: %.2g kB (total)\n", kb);
 
diff --git a/eval.c b/eval.c
index 8278371..916cad0 100644
--- a/eval.c
+++ b/eval.c
@@ -1904,32 +1904,32 @@ top:
                        break;
 
                case Op_equal:
-                       r = make_number((AWKNUM) cmp_scalar() == 0);
+                       r = make_number((AWKNUM) (cmp_scalar() == 0));
                        REPLACE(r);
                        break;
 
                case Op_notequal:
-                       r = make_number((AWKNUM) cmp_scalar() != 0);
+                       r = make_number((AWKNUM) (cmp_scalar() != 0));
                        REPLACE(r);
                        break;
 
                case Op_less:
-                       r = make_number((AWKNUM) cmp_scalar() < 0);
+                       r = make_number((AWKNUM) (cmp_scalar() < 0));
                        REPLACE(r);
                        break;
 
                case Op_greater:
-                       r = make_number((AWKNUM) cmp_scalar() > 0);
+                       r = make_number((AWKNUM) (cmp_scalar() > 0));
                        REPLACE(r);
                        break;
 
                case Op_leq:
-                       r = make_number((AWKNUM) cmp_scalar() <= 0);
+                       r = make_number((AWKNUM) (cmp_scalar() <= 0));
                        REPLACE(r);
                        break;
 
                case Op_geq:
-                       r = make_number((AWKNUM) cmp_scalar() >= 0);
+                       r = make_number((AWKNUM) (cmp_scalar() >= 0));
                        REPLACE(r);
                        break;
 
@@ -2219,11 +2219,6 @@ mod:
                        break;
 
                case Op_arrayfor_init:
-#define idx_list       sub.nodep.r.av
-#define num_idx                sub.nodep.reflags
-#define cur_idx                sub.nodep.l.ll
-#define for_array      sub.nodep.rn
-
                {
                        NODE **list = NULL;
                        NODE *array, *sort_str;
diff --git a/int_array.c b/int_array.c
index 913e154..3020fb2 100644
--- a/int_array.c
+++ b/int_array.c
@@ -691,7 +691,7 @@ int_hash(uint32_t k, uint32_t hsize)
        return k;
 }
 
-/* assoc_find --- locate symbol[subs] */
+/* int_find --- locate symbol[subs] */
 
 static inline NODE **
 int_find(NODE *symbol, long k, uint32_t hash1)
diff --git a/symbol.h b/symbol.h
deleted file mode 100644
index d5c2d85..0000000
--- a/symbol.h
+++ /dev/null
@@ -1,6 +0,0 @@
-extern NODE *install_symbol(char *name, NODETYPE type);
-extern NODE *lookup(const char *name);
-extern void install_params(NODE *paramtab, int pcount);
-extern void remove_params(NODE *paramtab, int pcount);
-extern NODE *remove_symbol(char *name);
-extern void destroy_symbol(char *name);
diff --git a/test/fnarray2.in b/test/fnarray2.in
new file mode 100644
index 0000000..587be6b
--- /dev/null
+++ b/test/fnarray2.in
@@ -0,0 +1 @@
+x

-----------------------------------------------------------------------

Summary of changes:
 array.c          |    1 -
 awk.h            |   11 +++++------
 cint_array.c     |   19 +++++++++++++------
 eval.c           |   17 ++++++-----------
 int_array.c      |    2 +-
 symbol.h         |    6 ------
 test/fnarray2.in |    1 +
 7 files changed, 26 insertions(+), 31 deletions(-)
 delete mode 100644 symbol.h
 create mode 100644 test/fnarray2.in


hooks/post-receive
-- 
gawk



reply via email to

[Prev in Thread] Current Thread [Next in Thread]