diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2018-05-25 19:46:24 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2018-05-25 19:46:24 -0700 |
commit | 30b5b23616152d3603b1e1ff3158aba8c93eab48 (patch) | |
tree | 1f5d924e7746e3cc905b567a4e74c21425dfa208 /share | |
parent | d93139b94b93be5d661b4146fe06cd31f837f22b (diff) | |
download | txr-30b5b23616152d3603b1e1ff3158aba8c93eab48.tar.gz txr-30b5b23616152d3603b1e1ff3158aba8c93eab48.tar.bz2 txr-30b5b23616152d3603b1e1ff3158aba8c93eab48.zip |
compiler/vm: renaming funvec.
The virtual machine's funvec will be used for global lexical
variables also, so it is being renamed to symvec. Related
structure members, functions and variables are also renamed.
* share/txr/stdlib/asm.tl (disassemble): Print the table
heading as syms: rather than funs:. Follow the rename of
vm-desc-funvec to vm-desc-symvec.
* share/txr/stdlib/compiler.tl (compiler): Slots fidx-cntr
fidx and ftab are renamed to sidx-cntr, sidx and stab, resp.
(compiler get-fidx): Renamed to get-sidx.
(compiler get-funvec): Renamed to get-symvec.
(compiler comp-setqf, compiler comp-catch, compiler
comp-fun-form, usr:compile-toplevel): Follow rename.
(list-from-vm-desc): Follow rename of sys:vm-desc-funvec.
* vm.c (strut vm_desc): Members funvec and ftab renamed to
symvec and stab.
(vm_make_desc): Parameters and local variables renamed.
Follow rename of struct members.
(vm_desc_funvec): Renamed to vm_desc_symvec.
(vm_desc_destroy, vm_desc_mark): Follow rename struct members.
(vm_ftab): Renamed to vm_stab.
(vm_gcall, vm_gapply): Follow rename of vm_ftab.
(vm_init): Register renamed vm_desc_symvec function as
sys:vm-desc-symvec.
Diffstat (limited to 'share')
-rw-r--r-- | share/txr/stdlib/asm.tl | 4 | ||||
-rw-r--r-- | share/txr/stdlib/compiler.tl | 35 |
2 files changed, 19 insertions, 20 deletions
diff --git a/share/txr/stdlib/asm.tl b/share/txr/stdlib/asm.tl index 74ba5866..1cbaba87 100644 --- a/share/txr/stdlib/asm.tl +++ b/share/txr/stdlib/asm.tl @@ -759,7 +759,7 @@ (let ((asm (new assembler buf code))) (put-line "data:") (mapdo (do format t " d~,03X: ~s\n" @1 @2) (range 0) data) - (put-line "funs:") + (put-line "syms:") (mapdo (do format t "~5d: ~s\n" @1 @2) (range 0) funv) (put-line "code:") (let ((ninsn asm.(dis-listing))) @@ -771,7 +771,7 @@ (typecase obj (vm-desc (disassemble-cdf (vm-desc-bytecode obj) (vm-desc-datavec obj) - (vm-desc-funvec obj) + (vm-desc-symvec obj) stream)) (fun (unless (vm-fun-p obj) (error "~s: not a vm function: ~s" self obj)) diff --git a/share/txr/stdlib/compiler.tl b/share/txr/stdlib/compiler.tl index abec279c..98b3fc4a 100644 --- a/share/txr/stdlib/compiler.tl +++ b/share/txr/stdlib/compiler.tl @@ -138,13 +138,13 @@ (defstruct compiler nil (treg-cntr 2) (dreg-cntr 0) - (fidx-cntr 0) + (sidx-cntr 0) (nlev 2) (tregs nil) (dreg (hash :eql-based)) (data (hash :eql-based)) - (fidx (hash :eql-based)) - (ftab (hash :eql-based)) + (sidx (hash :eql-based)) + (stab (hash :eql-based)) lt-frags last-form)) @@ -236,18 +236,18 @@ dreg) (compile-error me.last-form "code too complex: too many literals"))) -(defmeth compiler get-fidx (me atom) - (iflet ((fidx [me.fidx atom])) - fidx - (let* ((fidx (pinc me.fidx-cntr))) - (set [me.ftab fidx] atom) - (set [me.fidx atom] fidx)))) +(defmeth compiler get-sidx (me atom) + (iflet ((sidx [me.sidx atom])) + sidx + (let* ((sidx (pinc me.sidx-cntr))) + (set [me.stab sidx] atom) + (set [me.sidx atom] sidx)))) (defmeth compiler get-datavec (me) (vec-list [mapcar me.data (range* 0 me.dreg-cntr)])) -(defmeth compiler get-funvec (me) - (vec-list [mapcar me.ftab (range* 0 me.fidx-cntr)])) +(defmeth compiler get-symvec (me) + (vec-list [mapcar me.stab (range* 0 me.sidx-cntr)])) (defmeth compiler alloc-treg (me) (cond @@ -401,7 +401,7 @@ (compile-error form "assignment to lexical function binding") (let ((vfrag me.(compile oreg env val)) (fname me.(get-dreg sym)) - (rplcd me.(get-fidx 'usr:rplacd)) + (rplcd me.(get-sidx 'usr:rplacd)) (treg me.(alloc-treg))) me.(free-treg treg) (new (frag vfrag.oreg @@ -676,7 +676,7 @@ (lskip (gensym "l"))) (new (frag oreg ^((gcall ,treg - ,me.(get-fidx 'exception-subtype-p) + ,me.(get-sidx 'exception-subtype-p) ,esvb.loc ,me.(get-dreg sym)) (if ,treg ,lskip) @@ -998,7 +998,7 @@ ((bindable arg) (let ((fbind env.(lookup-fun arg t))) me.(comp-call-impl oreg env (if fbind opcode gopcode) - (if fbind fbind.loc me.(get-fidx arg)) + (if fbind fbind.loc me.(get-sidx arg)) (cdr args)))) ((and (consp arg) (eq (car arg) 'lambda)) me.(comp-fun-form oreg env ^(sym ,arg ,*(cdr args)))) @@ -1011,7 +1011,7 @@ (ift me.(comp-ift oreg env form)) (t (let* ((fbind env.(lookup-fun sym t)) (cfrag me.(comp-call-impl oreg env (if fbind 'call 'gcall) - (if fbind fbind.loc me.(get-fidx sym)) + (if fbind fbind.loc me.(get-sidx sym)) args))) (pushnew sym cfrag.ffuns) cfrag))))) @@ -1519,7 +1519,7 @@ co.(free-treg oreg) co.(check-treg-leak) as.(asm ^(,*(mappend .code (nreverse co.lt-frags)) ,*frag.code (end ,frag.oreg))) - (vm-make-desc co.nlev (succ as.max-treg) as.buf co.(get-datavec) co.(get-funvec))))) + (vm-make-desc co.nlev (succ as.max-treg) as.buf co.(get-datavec) co.(get-symvec))))) (defvarl %file-suff-rx% #/[.][^\\\/.]+/) @@ -1564,8 +1564,7 @@ (sys:vm-desc-nregs vd) (sys:vm-desc-bytecode vd) (copy (sys:vm-desc-datavec vd)) - (sys:vm-desc-funvec vd))) - + (sys:vm-desc-symvec vd))) (defmacro usr:with-compilation-unit (. body) (with-gensyms (rec) |