summaryrefslogtreecommitdiffstats
path: root/stdlib
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2025-06-20 07:54:23 -0700
committerKaz Kylheku <kaz@kylheku.com>2025-06-20 07:54:23 -0700
commit6cd91580c3d709c21db40b919a9f1cce8ccd0675 (patch)
tree2857ce5cdaacfb5ef50ec06aeed1b3ba961d7cdb /stdlib
parentc5b21e77d047a39c6e1c694614957e3e8c7b5dbe (diff)
downloadtxr-6cd91580c3d709c21db40b919a9f1cce8ccd0675.tar.gz
txr-6cd91580c3d709c21db40b919a9f1cce8ccd0675.tar.bz2
txr-6cd91580c3d709c21db40b919a9f1cce8ccd0675.zip
compiler: replace lazy list integers with iterables.
* stdlib/compiler.tl (compiler (get-datavec, get-symvec, comp-switch, comp-catch, comp-progn, comp-or)): Replace uses of the range function with much more memory efficient integer and integer range iteration.
Diffstat (limited to 'stdlib')
-rw-r--r--stdlib/compiler.tl12
1 files changed, 6 insertions, 6 deletions
diff --git a/stdlib/compiler.tl b/stdlib/compiler.tl
index 37e2b684..59c7601c 100644
--- a/stdlib/compiler.tl
+++ b/stdlib/compiler.tl
@@ -402,11 +402,11 @@
(defmeth compiler get-datavec (me)
(or me.datavec
- (set me.datavec (vec-list [mapcar me.data (range* 0 me.dreg-cntr)]))))
+ (set me.datavec (vec-list [mapcar me.data 0..me.dreg-cntr]))))
(defmeth compiler get-symvec (me)
(or me.symvec
- (set me.symvec (vec-list [mapcar me.stab (range* 0 me.sidx-cntr)]))))
+ (set me.symvec (vec-list [mapcar me.stab 0..me.sidx-cntr]))))
(defmeth compiler alloc-treg (me)
(cond
@@ -775,7 +775,7 @@
last-cfrag
(cfrags (collect-each ((cs cases)
(lb clabels)
- (i (range 1)))
+ (i 1))
(iflet ((seen-lb (and seen [seen cs])))
(progn
(set [clabels (pred i)] seen-lb)
@@ -933,7 +933,7 @@
(have-one-symbol (and (plusp *opt-level*) (eql 1 (len symbols))))
(one-symbol (if have-one-symbol (car symbols)))
(cfrags (collect-each ((cl clauses)
- (i (range 1)))
+ (i 1))
(mac-param-bind form (sym params . body) cl
(let* ((cl-src (rlcp-tree ^(apply (lambda ,params ,*body)
,ex-sym-var ,ex-args-var)
@@ -1303,7 +1303,7 @@
(oreg-discard me.(alloc-treg))
(code (build
(each ((form forms)
- (n (range 1)))
+ (n 1))
(let ((islast (eql n nargs)))
(let ((frag (if islast
(let ((*tail-pos* tp))
@@ -1330,7 +1330,7 @@
(treg me.(maybe-alloc-treg oreg))
(code (build
(each ((form args)
- (n (range 1)))
+ (n 1))
(let ((islast (eql n nargs)))
(let ((frag (if islast
(let ((*tail-pos* tp))