328 |
(wt-loc loc)) |
(wt-loc loc)) |
329 |
(t (setq cvar (next-cvar)) |
(t (setq cvar (next-cvar)) |
330 |
(wt-nl "{" (rep-type type) "V" cvar "= ") |
(wt-nl "{" (rep-type type) "V" cvar "= ") |
331 |
(case type |
(case (promoted-c-type type) |
332 |
(fixnum (wt-fixnum-loc loc)) |
(fixnum (wt-fixnum-loc loc)) |
333 |
(integer (wt-integer-loc loc 'inline-args)) |
(integer (wt-integer-loc loc 'inline-args)) |
334 |
(character (wt-character-loc loc)) |
(character (wt-character-loc loc)) |
381 |
(push (coerce-loc temp type) locs)))))))) |
(push (coerce-loc temp type) locs)))))))) |
382 |
|
|
383 |
(defun coerce-loc (loc type) |
(defun coerce-loc (loc type) |
384 |
(case type |
(case (promoted-c-type type) |
385 |
(fixnum (list 'FIXNUM-LOC loc)) |
(fixnum (list 'FIXNUM-LOC loc)) |
386 |
(integer (list 'integer-loc loc )) |
(integer (list 'integer-loc loc )) |
387 |
(character (list 'CHARACTER-LOC loc)) |
(character (list 'CHARACTER-LOC loc)) |
388 |
(long-float (list 'LONG-FLOAT-LOC loc)) |
(long-float (list 'LONG-FLOAT-LOC loc)) |
389 |
(short-float (list 'SHORT-FLOAT-LOC loc)) |
(short-float (list 'SHORT-FLOAT-LOC loc)) |
390 |
(t loc))) |
(t loc))) |
391 |
|
|
392 |
(defun get-inline-loc (ii args &aux (fun (car (cdddr ii))) locs) |
(defun get-inline-loc (ii args &aux (fun (car (cdddr ii))) locs) |
393 |
;;; Those functions that use GET-INLINE-LOC must rebind the variable *VS*. |
;;; Those functions that use GET-INLINE-LOC must rebind the variable *VS*. |
464 |
(t . INLINE))) |
(t . INLINE))) |
465 |
|
|
466 |
(defun inline-type (type) |
(defun inline-type (type) |
467 |
(or (cdr (assoc type *inline-types*)) 'inline)) |
(or (cdr (assoc (promoted-c-type type) *inline-types*)) 'inline)) |
468 |
|
|
469 |
(defun get-inline-info (fname args return-type &aux x ii) |
(defun get-inline-info (fname args return-type &aux x ii) |
470 |
(and (fast-link-proclaimed-type-p fname args) |
(and (fast-link-proclaimed-type-p fname args) |