aboutsummaryrefslogtreecommitdiffstats
path: root/interpret.h
diff options
context:
space:
mode:
authorAndrew J. Schorr <aschorr@telemetry-investments.com>2016-07-06 18:11:10 -0400
committerAndrew J. Schorr <aschorr@telemetry-investments.com>2016-07-06 18:11:10 -0400
commitf8424b236fabb881cc977b9e8e2e7c8debf56da0 (patch)
treeffbcb123b366ff6948c5d51fe784f22bbdc9929b /interpret.h
parent5de217ef7d347b8afa6f6f1fbd20cb84a20ae187 (diff)
downloadegawk-f8424b236fabb881cc977b9e8e2e7c8debf56da0.tar.gz
egawk-f8424b236fabb881cc977b9e8e2e7c8debf56da0.tar.bz2
egawk-f8424b236fabb881cc977b9e8e2e7c8debf56da0.zip
Now that all fields are NUL-terminated, we can eliminate $n copying in the interpreter.
Diffstat (limited to 'interpret.h')
-rw-r--r--interpret.h8
1 files changed, 2 insertions, 6 deletions
diff --git a/interpret.h b/interpret.h
index bbddd5a7..106367f7 100644
--- a/interpret.h
+++ b/interpret.h
@@ -363,12 +363,8 @@ 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
- r = dupnode(*lhs);
+ r = *lhs;
+ UPREF(r);
PUSH(r);
break;