aboutsummaryrefslogtreecommitdiffstats
path: root/interpret.h
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2014-11-21 10:53:34 +0200
committerArnold D. Robbins <arnold@skeeve.com>2014-11-21 10:53:34 +0200
commita398513aadb70b98e6e0ad04e5821ea0b6eca00c (patch)
treec857f8f573292e590f496df5c2b5caec5ac232ae /interpret.h
parentd00161ea2a57bcc45a34a35fed0d46c0e3b2de99 (diff)
downloadegawk-a398513aadb70b98e6e0ad04e5821ea0b6eca00c.tar.gz
egawk-a398513aadb70b98e6e0ad04e5821ea0b6eca00c.tar.bz2
egawk-a398513aadb70b98e6e0ad04e5821ea0b6eca00c.zip
Remove OLDMEM checks, preparatory to merging.
Diffstat (limited to 'interpret.h')
-rw-r--r--interpret.h58
1 files changed, 16 insertions, 42 deletions
diff --git a/interpret.h b/interpret.h
index 2901f60e..b16dc126 100644
--- a/interpret.h
+++ b/interpret.h
@@ -352,16 +352,12 @@ uninitialized_scalar:
lhs = r_get_field(t1, (Func_ptr *) 0, true);
decr_sp();
DEREF(t1);
- if (do_old_mem) {
+ /* only for $0, up ref count */
+ if (*lhs == fields_arr[0]) {
+ r = *lhs;
+ UPREF(r);
+ } else
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;
@@ -652,12 +648,8 @@ mod:
}
unref(*lhs);
- if (do_old_mem) {
- *lhs = POP_SCALAR();
- } else {
- r = POP_SCALAR();
- UNFIELD(*lhs, r);
- }
+ r = POP_SCALAR();
+ UNFIELD(*lhs, r);
/* execute post-assignment routine if any */
if (t1->astore != NULL)
@@ -675,21 +667,12 @@ mod:
lhs = get_lhs(pc->memory, false);
unref(*lhs);
r = pc->initval; /* constant initializer */
- if (do_old_mem) {
- if (r == NULL)
- *lhs = POP_SCALAR();
- else {
- UPREF(r);
- *lhs = r;
- }
+ if (r != NULL) {
+ UPREF(r);
+ *lhs = r;
} else {
- if (r != NULL) {
- UPREF(r);
- *lhs = r;
- } else {
- r = POP_SCALAR();
- UNFIELD(*lhs, r);
- }
+ r = POP_SCALAR();
+ UNFIELD(*lhs, r);
}
break;
@@ -705,12 +688,8 @@ mod:
decr_sp();
DEREF(t1);
unref(*lhs);
- if (do_old_mem) {
- *lhs = POP_SCALAR();
- } else {
- r = POP_SCALAR();
- UNFIELD(*lhs, r);
- }
+ r = POP_SCALAR();
+ UNFIELD(*lhs, r);
assert(assign != NULL);
assign();
}
@@ -764,13 +743,8 @@ mod:
lhs = POP_ADDRESS();
r = TOP_SCALAR();
unref(*lhs);
- if (do_old_mem) {
- *lhs = r;
- UPREF(r);
- } else {
- UPREF(r);
- UNFIELD(*lhs, r);
- }
+ UPREF(r);
+ UNFIELD(*lhs, r);
REPLACE(r);
break;