[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gawk-diffs] [SCM] gawk branch, memory-work, updated. gawk-4.1.0-507-g62
From: |
Arnold Robbins |
Subject: |
[gawk-diffs] [SCM] gawk branch, memory-work, updated. gawk-4.1.0-507-g624caa1 |
Date: |
Mon, 17 Nov 2014 15:05:37 +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, memory-work has been updated
via 624caa19ebb5b5a19046f0b0deb96b2e6c093685 (commit)
via 41da6a35e2cca4ec3c6b7c61e204e51484ecd7eb (commit)
via 46fb38d70fe250f318fb95a6083beaceaaf5155d (commit)
via 73c561d03b0e9a4f2d0bc10d943ec73e002ea48b (commit)
via f35c7514dda9bf9cf06580ab5870af13e0e58103 (commit)
via 52edf49564243b1d6392477e7c447eeb0d8558c0 (commit)
via c55f68090438121e3bb7c4baa66d5bba6681f277 (commit)
via bfb15f15556411332a2c33c2ddf51ca44c7df82f (commit)
via 6cc74b6a9954bcfcf48aeb6178b3426b5940f928 (commit)
via d4397f45eb710a3c24b7b24aa895e8b9323aff4f (commit)
via b027c0d5d49cddfb46565d2d572ecf3828b80b1a (commit)
via 67557ccd7bfedd6656394c42b367493f6eba0bdb (commit)
via 0ef2d77362b1ac3caae96512c0dbdcda5b87adc5 (commit)
via 0a0442fb4744b4a6f419b5e341dfb553081cf04e (commit)
via ab90088866a262f32c79e4fabc4a63409c9fd4f5 (commit)
via 6e6d960b0964b43f3c94e19872537f7fd4603f59 (commit)
via 757eacd6cf522e56df34372ca7e6968817947cbb (commit)
via 0c9e840515309d37257da568d6b01dad72aa7ebc (commit)
via afabab5ec7a8d8500576a3bf39321cb5ca566661 (commit)
via 2bf2c2b86482c77a8ca3b88df8e2def62e65f903 (commit)
from 31c6051694d3152e50eb037e20c4734c7321eac6 (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=624caa19ebb5b5a19046f0b0deb96b2e6c093685
commit 624caa19ebb5b5a19046f0b0deb96b2e6c093685
Author: Arnold D. Robbins <address@hidden>
Date: Mon Nov 17 17:05:14 2014 +0200
Add runtime check to run old code. Easier to debug/test.
diff --git a/awk.h b/awk.h
index 9b72a53..e788a5a 100644
--- a/awk.h
+++ b/awk.h
@@ -1056,6 +1056,8 @@ extern bool field0_valid;
extern int do_flags;
+extern bool do_old_mem; /* XXX temporary */
+
extern SRCFILE *srcfiles; /* source files */
enum do_flag_values {
diff --git a/interpret.h b/interpret.h
index 83ccbfc..9910ea7 100644
--- a/interpret.h
+++ b/interpret.h
@@ -340,12 +340,16 @@ uninitialized_scalar:
lhs = r_get_field(t1, (Func_ptr *) 0, true);
decr_sp();
DEREF(t1);
- /* only for $0, up ref count */
- if (*lhs == fields_arr[0]) {
- r = *lhs;
- UPREF(r);
- } else
+ if (do_old_mem) {
r = dupnode(*lhs);
+ } else {
+ /* only for $0, up ref count */
+ if (*lhs == fields_arr[0]) {
+ r = *lhs;
+ UPREF(r);
+ } else
+ r = dupnode(*lhs);
+ }
PUSH(r);
break;
@@ -654,21 +658,30 @@ mod:
lhs = get_lhs(pc->memory, false);
unref(*lhs);
r = pc->initval; /* constant initializer */
- if (r != NULL) {
- UPREF(r);
- *lhs = r;
- } else {
- r = POP_SCALAR();
-
- /* if was a field, turn it into a var */
- if ((r->flags & FIELD) == 0) {
+ if (do_old_mem) {
+ if (r == NULL)
+ *lhs = POP_SCALAR();
+ else {
+ UPREF(r);
*lhs = r;
- } else if (r->valref == 1) {
- r->flags &= ~FIELD;
+ }
+ } else {
+ if (r != NULL) {
+ UPREF(r);
*lhs = r;
} else {
- *lhs = dupnode(r);
- DEREF(r);
+ r = POP_SCALAR();
+
+ /* if was a field, turn it into a var */
+ if ((r->flags & FIELD) == 0) {
+ *lhs = r;
+ } else if (r->valref == 1) {
+ r->flags &= ~FIELD;
+ *lhs = r;
+ } else {
+ *lhs = dupnode(r);
+ DEREF(r);
+ }
}
}
break;
diff --git a/main.c b/main.c
index ddda1d6..a2bdf1b 100644
--- a/main.c
+++ b/main.c
@@ -170,6 +170,8 @@ GETGROUPS_T *groupset; /* current group set */
int ngroups; /* size of said set */
#endif
+bool do_old_mem = false; /* XXX temporary */
+
void (*lintfunc)(const char *mesg, ...) = r_warning;
/* Sorted by long option name! */
@@ -231,6 +233,9 @@ main(int argc, char **argv)
#endif /* HAVE_MTRACE */
#endif /* HAVE_MCHECK_H */
+ if (getenv("OLDMEM") != NULL)
+ do_old_mem = true; /* XXX temporary */
+
myname = gawk_name(argv[0]);
os_arg_fixup(&argc, &argv); /* emulate redirection, expand wildcards */
http://git.sv.gnu.org/cgit/gawk.git/commit/?id=41da6a35e2cca4ec3c6b7c61e204e51484ecd7eb
commit 41da6a35e2cca4ec3c6b7c61e204e51484ecd7eb
Merge: 31c6051 46fb38d
Author: Arnold D. Robbins <address@hidden>
Date: Mon Nov 17 16:54:41 2014 +0200
Merge branch 'gawk-4.1-stable' into memory-work
-----------------------------------------------------------------------
Summary of changes:
NOTES | 26 +
awk.h | 2 +
awklib/eg/lib/ftrans.awk | 2 +-
awklib/eg/lib/strtonum.awk | 2 +-
awklib/eg/prog/indirectcall.awk | 2 +-
awklib/eg/prog/split.awk | 2 +-
doc/ChangeLog | 4 +
doc/gawk.info | 4127 ++++++++++++++++++++-------------------
doc/gawk.texi | 2610 +++++++++++++------------
doc/gawktexi.in | 2545 +++++++++++++------------
interpret.h | 47 +-
main.c | 5 +
12 files changed, 4841 insertions(+), 4533 deletions(-)
create mode 100644 NOTES
hooks/post-receive
--
gawk
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gawk-diffs] [SCM] gawk branch, memory-work, updated. gawk-4.1.0-507-g624caa1,
Arnold Robbins <=