diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2025-06-20 07:54:23 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2025-06-20 07:54:23 -0700 |
commit | 6cd91580c3d709c21db40b919a9f1cce8ccd0675 (patch) | |
tree | 2857ce5cdaacfb5ef50ec06aeed1b3ba961d7cdb | |
parent | c5b21e77d047a39c6e1c694614957e3e8c7b5dbe (diff) | |
download | txr-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.
-rw-r--r-- | stdlib/compiler.tl | 12 |
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)) |