Ignore:
Timestamp:
Oct 14, 2008, 6:30:00 PM (12 years ago)
Author:
gz
Message:

Merge/bootstrap assorted low level stuff from trunk - kernel, syscall stuff, lowmem-bias, formatting tweaks, a few bug fixes included

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/working-0711/ccl/compiler/nx1.lisp

    r10996 r11089  
    179179              (nx1-form arg)))
    180180
    181 
    182181(defnx1 nx1-char-code ((char-code)) (arg &environment env)
    183182  (make-acode (if (nx-form-typep arg 'character env)
     
    268267           body)))))
    269268
    270 (defnx1 nx1-%new-ptr (%new-ptr) (&whole whole size clear-p)
     269(defnx1 nx1-%new-ptr (%new-ptr) (&whole whole size &optional clear-p)
    271270  (make-acode (%nx1-operator %new-ptr) (nx1-form size) (nx1-form clear-p)))
    272271
     
    809808
    810809(defnx1 nx1-%aref2 ((%aref2)) (&whole whole &environment env arr i j)
     810  ;; Bleah.  Breaks modularity.  Specialize later.
     811  (target-arch-case
     812   (:x8632
     813    (return-from nx1-%aref2 (nx1-treat-as-call whole))))
     814
    811815  (let* ((arch (backend-target-arch *target-backend*))
    812816         (ctype (specifier-type (nx-form-type arr env)))
     
    836840
    837841(defnx1 nx1-%aref3 ((%aref3)) (&whole whole &environment env arr i j k)
     842  ;; Bleah.  Breaks modularity.  Specialize later.
     843  (target-arch-case
     844   (:x8632
     845    (return-from nx1-%aref3 (nx1-treat-as-call whole))))
     846
    838847  (let* ((arch (backend-target-arch *target-backend*))
    839848         (ctype (specifier-type (nx-form-type arr env)))
     
    907916           
    908917(defnx1 nx1-%aset2 ((%aset2)) (&whole whole &environment env arr i j new)
     918  ;; Bleah.  Breaks modularity.  Specialize later.
     919  (target-arch-case
     920   (:x8632
     921    (return-from nx1-%aset2 (nx1-treat-as-call whole))))
     922
    909923  (let* ((arch (backend-target-arch *target-backend*))
    910924         (ctype (specifier-type (nx-form-type arr env)))
     
    937951
    938952(defnx1 nx1-%aset3 ((%aset3)) (&whole whole &environment env arr i j k new)
     953  ;; Bleah.  Breaks modularity.  Specialize later.
     954  (target-arch-case
     955   (:x8632
     956    (return-from nx1-%aset3 (nx1-treat-as-call whole))))
     957
    939958  (let* ((arch (backend-target-arch *target-backend*))
    940959         (ctype (specifier-type (nx-form-type arr env)))
     
    13401359      (:linuxppc32 (%nx1-operator eabi-ff-call))
    13411360      ((:darwinppc32 :linuxppc64 :darwinppc64) (%nx1-operator poweropen-ff-call))
    1342       ((:linuxx8664 :freebsdx8664 :darwinx8664) (%nx1-operator ff-call)))))
     1361      ((:darwinx8632 :linuxx8632 :win32) (%nx1-operator i386-ff-call))
     1362      ((:linuxx8664 :freebsdx8664 :darwinx8664 :solarisx8664 :win64) (%nx1-operator ff-call)))))
    13431363
    13441364(defnx1 nx1-syscall ((%syscall)) (idx &rest arg-specs-and-result-spec)
     
    13601380             ((:darwinppc32 :darwinppc64 :linuxppc64)
    13611381              (%nx1-operator poweropen-syscall))
    1362              ((:linuxx8664 :freebsdx8664 :darwinx8664) (%nx1-operator syscall))))))
     1382             ((:darwinx8632 :linuxx632 :win32) (%nx1-operator i386-syscall))
     1383             ((:linuxx8664 :freebsdx8664 :darwinx8664 :solarisx8664 :win64) (%nx1-operator syscall))))))
    13631384
    13641385(defun nx1-ff-call-internal (address-expression arg-specs-and-result-spec operator )
     
    18611882            (while req
    18621883              (when (null arglist)
    1863                 (nx-error "Not enough args in Lambda form: ~S ~S." lambda-list args))
     1884                (nx-error "Not enough args ~S for (LAMBDA ~s ...)" args lambda-list))
    18641885              (let* ((var (pop req))
    18651886                     (val (pop arglist))
     
    18831904            (if arglist
    18841905              (when (and (not keys) (not rest))
    1885                 (nx-error "Extra args in Lambda form: ~S ~S." lambda-list args))
     1906                (nx-error "Extra args ~s for (LAMBDA ~s ...)" args lambda-list))
    18861907              (when rest
    18871908                (push rest vars*) (push *nx-nil* vals*)
     
    19411962                                (eq (%cadr arg) :allow-other-keys)
    19421963                                (and kallowother (symbolp (%cadr arg))))
    1943                       (nx-error "Invalid keyword in Lambda form: ~S ~S."
    1944                                 lambda-list args))
     1964                      (nx-error "Invalid keyword ~s in ~s for (LAMBDA ~S ...)"
     1965                                (%cadr arg) args lambda-list))
    19451966                    (when (and idx (null (%svref keyargs idx)))
    19461967                      (setq hit t)
     
    21152136                           (nx1-form num)
    21162137                           (make-acode (%nx1-operator fixnum)
    2117                                        (- amt)))
     2138                                       (min (1- max) (- amt))))
    21182139               (nx1-treat-as-call call))))
    21192140          ((and (fixnump amt)
Note: See TracChangeset for help on using the changeset viewer.