Skip to content
Snippets Groups Projects
Commit 51bb640d authored by toy's avatar toy
Browse files

Initial revision for bootstrapping the Sparc allocation changes.

parent 65fbb5c5
No related branches found
No related tags found
No related merge requests found
#+sparc
(in-package "SPARC")
#+sparc
(defmacro allocation (result-tn size lowtag)
;; We assume we're in a pseudo-atomic so the pseudo-atomic bit is
;; set. If the lowtag also has a 1 bit in the same position, we're all
;; set. Otherwise, we need to zap out the lowtag from alloc-tn, and
;; then or in the lowtag.
`(if (logbitp (1- lowtag-bits) ,lowtag)
(progn
(inst or ,result-tn alloc-tn ,lowtag)
(inst add alloc-tn ,size))
(progn
(inst andn ,result-tn alloc-tn lowtag-mask)
(inst or ,result-tn ,lowtag)
(inst add alloc-tn ,size))))
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment