/[gcl]/gcl/cmpnew/gcl_cmpinline.lsp
ViewVC logotype

Diff of /gcl/cmpnew/gcl_cmpinline.lsp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1.2.2 by camm, Mon Sep 29 15:22:38 2003 UTC revision 1.1.2.3 by camm, Fri Oct 10 02:31:05 2003 UTC
# Line 107  Line 107 
107          (t (incf *inline-blocks*))))          (t (incf *inline-blocks*))))
108    
109  (defun inline-args (forms types &optional fun &aux (locs nil) ii)  (defun inline-args (forms types &optional fun &aux (locs nil) ii)
   (let ((arg-side-effects (args-cause-side-effect forms)))  
110    (do ((forms forms (cdr forms))    (do ((forms forms (cdr forms))
111         (types types (cdr types)))         (types types (cdr types)))
112        ((endp forms) (reverse locs))        ((endp forms) (reverse locs))
# Line 133  Line 132 
132                                 (wt-var (caaddr form) (cadr (caddr form)))                                 (wt-var (caaddr form) (cadr (caddr form)))
133                                 (wt ";")                                 (wt ";")
134                                 (push (coerce-loc temp type) locs)))))                                 (push (coerce-loc temp type) locs)))))
135                       ((or arg-side-effects                       ((and (member (var-kind (caaddr form))
                           (and (member (var-kind (caaddr form))  
136                                         '(FIXNUM LONG-FLOAT SHORT-FLOAT INTEGER))                                         '(FIXNUM LONG-FLOAT SHORT-FLOAT INTEGER))
137                                 (not (eq type (var-kind (caaddr form))))))                                 (not (eq type (var-kind (caaddr form)))))
138                        (let ((temp (cs-push type)))                        (let ((temp (cs-push type)))
139                          (wt-nl "V" temp " = "                          (wt-nl "V" temp " = "
140                                 (coerce-loc (cons 'var (caddr form)) type) ";")                                 (coerce-loc (cons 'var (caddr form)) type) ";")
141                          (push (list 'cvar temp) locs))                          (push (list 'cvar temp) locs)))
                       )  
142                       (t (push (coerce-loc (cons 'VAR (caddr form)) type)                       (t (push (coerce-loc (cons 'VAR (caddr form)) type)
143                                locs))))                                locs))))
144                (CALL-GLOBAL                (CALL-GLOBAL
# Line 236  Line 233 
233                     (let ((*value-to-go* temp))                     (let ((*value-to-go* temp))
234                       (c2expr* form)                       (c2expr* form)
235                       (push (coerce-loc temp type) locs))))))))                       (push (coerce-loc temp type) locs))))))))
   )  
236    
237  (defun coerce-loc (loc type)  (defun coerce-loc (loc type)
238    (case type    (case type

Legend:
Removed from v.1.1.2.2  
changed lines
  Added in v.1.1.2.3

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26