- Timestamp:
- Apr 22, 2007, 5:22:04 AM (18 years ago)
- File:
-
- 1 edited
-
branches/x8664-call/ccl/compiler/X86/x862.lisp (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/x8664-call/ccl/compiler/X86/x862.lisp
r6333 r6337 1388 1388 (imm0 (make-wired-lreg x8664::imm0 :mode (get-regspec-mode s64-src)))) 1389 1389 (x862-copy-register seg imm0 s64-src) 1390 (! call-subprim (subprim-name->offset '.SPmakes64))1390 (! xcall-subprim (subprim-name->offset '.SPnmakes64)) 1391 1391 (x862-copy-register seg node-dest arg_z))))) 1392 1392 … … 1418 1418 (imm0 ($ x8664::imm0 :mode :u64))) 1419 1419 (x862-copy-register seg imm0 u64-src) 1420 (! call-subprim (subprim-name->offset '.SPmakeu64))1420 (! xcall-subprim (subprim-name->offset '.SPnmakeu64)) 1421 1421 (x862-copy-register seg node-dest arg_z))))) 1422 1422 … … 2444 2444 (label-p (and (fixnump fn) 2445 2445 (locally (declare (fixnum fn)) 2446 (and (= fn - 1) (- fn)))))2446 (and (= fn -2) (- fn))))) 2447 2447 (tail-p (eq xfer $backend-return)) 2448 2448 (func (if (consp f-op) (%cadr f-op))) … … 2503 2503 (if label-p 2504 2504 (progn 2505 (! call-label (aref *backend-labels* 1)))2505 (! call-label (aref *backend-labels* 2))) 2506 2506 (progn 2507 2507 (if a-reg … … 5363 5363 (! jump-subprim subprim) 5364 5364 (progn 5365 (! call-subprim subprim) 5365 (setq subprim (+ (subprim-name->offset 'x8664::.spnbuiltin-plus) 5366 (- subprim 5367 (subprim-name->offset 'x8664::.spbuiltin-plus)))) 5368 (! xcall-subprim subprim) 5366 5369 (<- ($ x8664::arg_z)) 5367 5370 (^)))))) … … 5433 5436 (x862-allocate-global-registers *x862-fcells* *x862-vcells* (afunc-all-vars afunc) no-regs)) 5434 5437 (@ (backend-get-next-label)) ; generic self-reference label, should be label #1 5438 (! establish-fn) 5439 (@ (backend-get-next-label)) ; self-call label 5435 5440 (unless next-method-p 5436 5441 (setq method-var nil)) … … 6137 6142 (let* ((index (arch::builtin-function-name-offset name)) 6138 6143 (idx-subprim (x862-builtin-index-subprim index))) 6139 (! call-subprim-2 ($ x8664::arg_z) idx-subprim ($ x8664::arg_y) ($ x8664::arg_z))) 6144 (setq idx-subprim (+ (subprim-name->offset 'x8664::.SPnbuiltin-plus) 6145 (- idx-subprim (subprim-name->offset 'x8664::.SPbuiltin-plus)))) 6146 (! xcall-subprim-2 ($ x8664::arg_z) idx-subprim ($ x8664::arg_y) ($ x8664::arg_z))) 6140 6147 (@ done) 6141 6148 (<- ($ x8664::arg_z)) … … 6296 6303 (defx862 x862-self-call self-call (seg vreg xfer arglist &optional spread-p) 6297 6304 (setq arglist (x862-augment-arglist *x862-cur-afunc* arglist (if spread-p 1 *x862-target-num-arg-regs*))) 6298 (x862-call-fn seg vreg xfer - 1arglist spread-p))6305 (x862-call-fn seg vreg xfer -2 arglist spread-p)) 6299 6306 6300 6307 … … 6327 6334 (! jump-subprim subprim) 6328 6335 (progn 6329 (! call-subprim subprim) 6336 (setq subprim (+ (subprim-name->offset 'x8664::.SPnbuiltin-plus) 6337 (- subprim 6338 (subprim-name->offset 'x8664::.SPbuiltin-plus)))) 6339 (! xcall-subprim subprim) 6330 6340 (<- x8664::arg_z) 6331 6341 (^)))))
Note:
See TracChangeset
for help on using the changeset viewer.
