Changeset 10370


Ignore:
Timestamp:
Aug 6, 2008, 9:30:24 AM (11 years ago)
Author:
gb
Message:

Handle "full-safety" bit.

Implement handler for %valid-code-char.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/compiler/PPC/ppc2.lisp

    r9882 r10370  
    4747          (*ppc2-reckless* *ppc2-reckless*)
    4848          (*ppc2-open-code-inline* *ppc2-open-code-inline*)
    49           (*ppc2-trust-declarations* *ppc2-trust-declarations*))
     49          (*ppc2-trust-declarations* *ppc2-trust-declarations*)
     50          (*ppc2-full-safety* *ppc2-full-safety*))
    5051     (ppc2-decls ,declsform)
    5152     ,@body))
     
    162163(defvar *ppc2-tail-allow* t)
    163164(defvar *ppc2-reckless* nil)
     165(defvar *ppc2-full-safety* nil)
    164166(defvar *ppc2-trust-declarations* nil)
    165167(defvar *ppc2-entry-vstack* nil)
     
    427429           (*ppc2-tail-allow* t)
    428430           (*ppc2-reckless* nil)
     431           (*ppc2-full-safety* nil)
    429432           (*ppc2-trust-declarations* t)
    430433           (*ppc2-entry-vstack* nil)
     
    587590      (setq *ppc2-tail-allow* (neq 0 (%ilogand2 $decl_tailcalls decls))
    588591            *ppc2-open-code-inline* (neq 0 (%ilogand2 $decl_opencodeinline decls))
     592            *ppc2-full-safety* (neq 0 (%ilogand2 $decl_full_safety decls))
    589593            *ppc2-reckless* (neq 0 (%ilogand2 $decl_unsafe decls))
    590594            *ppc2-trust-declarations* (neq 0 (%ilogand2 $decl_trustdecls decls))))))
     
    58965900    (^)))
    58975901
     5902(defppc2 ppc2-%valid-code-char %valid-code-char (seg vreg xfer c)
     5903  (let* ((reg (ppc2-one-untargeted-reg-form seg c ppc::arg_z)))
     5904    (when *ppc2-full-safety* (! require-char-code reg))
     5905    (if vreg
     5906      (ensuring-node-target (target vreg)
     5907        (! code-char->char target reg)))
     5908    (^)))
     5909
    58985910(defppc2 ppc2-eq eq (seg vreg xfer cc form1 form2)
    58995911  (multiple-value-bind (cr-bit true-p) (acode-condition-to-ppc-cr-bit cc)
Note: See TracChangeset for help on using the changeset viewer.