Raymond Toy pushed to branch sparc64-dev at cmucl / cmucl

Commits:

7 changed files:

Changes:

  • bin/build.sh
    ... ... @@ -39,7 +39,7 @@ ENABLE2="yes"
    39 39
     ENABLE3="yes"
    
    40 40
     ENABLE4="yes"
    
    41 41
     
    
    42
    -version=21a
    
    42
    +version=21b
    
    43 43
     SRCDIR=src
    
    44 44
     BINDIR=bin
    
    45 45
     TOOLDIR=$BINDIR
    

  • src/bootfiles/21b/boot-2017-01-1.lisp
    1
    +;; Boot file to increase the max alignment value from 3 to 4.
    
    2
    +;;
    
    3
    +;; This takes care of everything for the bootstrap, but when new-assem
    
    4
    +;; is loaded. you'll get a warning.  Select the CLOBBER-IT restart to
    
    5
    +;; continue.
    
    6
    +
    
    7
    +(in-package :new-assem)
    
    8
    +
    
    9
    +(handler-bind
    
    10
    +    ((error (lambda (c)
    
    11
    +	      (declare (ignore c))
    
    12
    +	      (invoke-restart 'continue))))
    
    13
    +  (defconstant max-alignment 4))
    
    14
    +
    
    15
    +(ext:without-package-locks
    
    16
    +(deftype alignment ()
    
    17
    +  `(integer 0 ,max-alignment))
    
    18
    +)
    
    19
    +
    
    20
    +(ext:without-package-locks
    
    21
    +(handler-bind ((error (lambda (c)
    
    22
    +			(declare (ignore c))
    
    23
    +			(invoke-restart 'kernel::clobber-it))))
    
    24
    +  (defstruct (segment
    
    25
    +	      (:print-function %print-segment)
    
    26
    +	      (:constructor make-segment (&key name run-scheduler inst-hook)))
    
    27
    +    ;;
    
    28
    +    ;; The name of this segment.  Only using in trace files.
    
    29
    +    (name "Unnamed" :type simple-base-string)
    
    30
    +    ;;
    
    31
    +    ;; Whether or not run the scheduler.  Note: if the instruction defintions
    
    32
    +    ;; were not compiled with the scheduler turned on, this has no effect.
    
    33
    +    (run-scheduler nil)
    
    34
    +    ;;
    
    35
    +    ;; If a function, then it is funcalled for each inst emitted with the
    
    36
    +    ;; segment, the VOP, the name of the inst (as a string), and the inst
    
    37
    +    ;; arguments.
    
    38
    +    (inst-hook nil :type (or function null))
    
    39
    +    ;;
    
    40
    +    ;; Where to deposit the next byte.
    
    41
    +    (fill-pointer (system:int-sap 0) :type system:system-area-pointer)
    
    42
    +    ;;
    
    43
    +    ;; Where the current output block ends.  If fill-pointer is ever sap= to
    
    44
    +    ;; this, don't deposit a byte.  Move the fill pointer into a new block.
    
    45
    +    (block-end (system:int-sap 0) :type system:system-area-pointer)
    
    46
    +    ;;
    
    47
    +    ;; What position does this correspond to.  Initially, positions and indexes
    
    48
    +    ;; are the same, but after we start collapsing choosers, positions can change
    
    49
    +    ;; while indexes stay the same.
    
    50
    +    (current-posn 0 :type posn)
    
    51
    +    ;;
    
    52
    +    ;; Were in the output blocks are we currently outputing.
    
    53
    +    (current-index 0 :type index)
    
    54
    +    ;;
    
    55
    +    ;; A vector of the output blocks.
    
    56
    +    (output-blocks (make-array 4 :initial-element nil) :type simple-vector)
    
    57
    +    ;;
    
    58
    +    ;; A list of all the annotations that have been output to this segment.
    
    59
    +    (annotations nil :type list)
    
    60
    +    ;;
    
    61
    +    ;; A pointer to the last cons cell in the annotations list.  This is
    
    62
    +    ;; so we can quickly add things to the end of the annotations list.
    
    63
    +    (last-annotation nil :type list)
    
    64
    +    ;;
    
    65
    +    ;; The number of bits of alignment at the last time we synchronized.
    
    66
    +    (alignment max-alignment :type alignment)
    
    67
    +    ;;
    
    68
    +    ;; The position the last time we synchronized.
    
    69
    +    (sync-posn 0 :type posn)
    
    70
    +    ;;
    
    71
    +    ;; The posn and index everything ends at.  This is not maintained while the
    
    72
    +    ;; data is being generated, but is filled in after.  Basically, we copy
    
    73
    +    ;; current-posn and current-index so that we can trash them while processing
    
    74
    +    ;; choosers and back-patches.
    
    75
    +    (final-posn 0 :type posn)
    
    76
    +    (final-index 0 :type index)
    
    77
    +    ;;
    
    78
    +    ;; *** State used by the scheduler during instruction queueing.
    
    79
    +    ;;
    
    80
    +    ;; List of postit's.  These are accumulated between instructions.
    
    81
    +    (postits nil :type list)
    
    82
    +    ;;
    
    83
    +    ;; ``Number'' for last instruction queued.  Used only to supply insts
    
    84
    +    ;; with unique sset-element-number's.
    
    85
    +    (inst-number 0 :type index)
    
    86
    +    ;;
    
    87
    +    ;; Simple-Vectors mapping locations to the instruction that reads them and
    
    88
    +    ;; instructions that write them.
    
    89
    +    (readers (make-array (assem-params-max-locations
    
    90
    +			  (c:backend-assembler-params c:*backend*))
    
    91
    +			 :initial-element nil)
    
    92
    +     :type simple-vector)
    
    93
    +    (writers (make-array (assem-params-max-locations
    
    94
    +			  (c:backend-assembler-params c:*backend*))
    
    95
    +			 :initial-element nil)
    
    96
    +     :type simple-vector)
    
    97
    +    ;;
    
    98
    +    ;; The number of additional cycles before the next control transfer, or NIL
    
    99
    +    ;; if a control transfer hasn't been queued.  When a delayed branch is
    
    100
    +    ;; queued, this slot is set to the delay count.
    
    101
    +    (branch-countdown nil :type (or null (and fixnum unsigned-byte)))
    
    102
    +    ;;
    
    103
    +    ;; *** These two slots are used both by the queuing noise and the
    
    104
    +    ;; scheduling noise.
    
    105
    +    ;;
    
    106
    +    ;; All the instructions that are pending and don't have any unresolved
    
    107
    +    ;; dependents.  We don't list branches here even if they would otherwise
    
    108
    +    ;; qualify.  They are listed above.
    
    109
    +    ;;
    
    110
    +    (emittable-insts-sset (make-sset) :type sset)
    
    111
    +    ;;
    
    112
    +    ;; List of queued branches.  We handle these specially, because they have to
    
    113
    +    ;; be emitted at a specific place (e.g. one slot before the end of the
    
    114
    +    ;; block).
    
    115
    +    (queued-branches nil :type list)
    
    116
    +    ;;
    
    117
    +    ;; *** State used by the scheduler duing instruction scheduling.
    
    118
    +    ;;
    
    119
    +    ;; The instructions who would have had a read dependent removed if it were
    
    120
    +    ;; not for a delay slot.  This is a list of lists.  Each element in the
    
    121
    +    ;; top level list corresponds to yet another cycle of delay.  Each element
    
    122
    +    ;; in the second level lists is a dotted pair, holding the dependency
    
    123
    +    ;; instruction and the dependent to remove.
    
    124
    +    (delayed nil :type list)
    
    125
    +    ;;
    
    126
    +    ;; The emittable insts again, except this time as a list sorted by depth.
    
    127
    +    (emittable-insts-queue nil :type list)
    
    128
    +    ;;
    
    129
    +    ;; Whether or not to collect dynamic statistics.  This is just the same as
    
    130
    +    ;; *collect-dynamic-statistics* but is faster to reference.
    
    131
    +    (collect-dynamic-statistics nil))))
    
    132
    +

  • src/code/module.lisp
    ... ... @@ -91,7 +91,17 @@
    91 91
       calling PROVIDE to indicate a successful load of the module.
    
    92 92
     
    
    93 93
       While loading any files, *load-verbose* is bound to *require-verbose*
    
    94
    -  which defaults to t."
    
    94
    +  which defaults to t.
    
    95
    +
    
    96
    +  The predefined modules included are :defsystem, :asdf, :lisp-unit,
    
    97
    +  :unix, :clx, :clm, :hemlock, and :cmu-contribs.
    
    98
    +
    
    99
    +  The module :cmu-contribs differs from the other modules in that
    
    100
    +  requiring this module only defines the following modules:
    
    101
    +  \"contrib-demos\", \"contrib-follow-mouse\",
    
    102
    +  \"contrib-games-feebs\", \"contrib-hist\", \"contrib-psgraph\",
    
    103
    +  \"contrib-ops\", \"contrib-embedded-c\", \"contrib-sprof\", and
    
    104
    +  \"contrib-packed-sse2\". "
    
    95 105
       (let ((saved-modules (copy-list *modules*))
    
    96 106
             (module-name (module-name-string module-name)))
    
    97 107
         (unless (member module-name *modules* :test #'string=)
    

  • src/compiler/new-assem.lisp
    ... ... @@ -80,7 +80,7 @@
    80 80
     ;;; format.  If the loader only loads objects 8-byte aligned, we can't do
    
    81 81
     ;;; any better than that ourselves.
    
    82 82
     ;;;
    
    83
    -(defconstant max-alignment 3)
    
    83
    +(defconstant max-alignment 4)
    
    84 84
     
    
    85 85
     (deftype alignment ()
    
    86 86
       `(integer 0 ,max-alignment))
    

  • src/i18n/locale/cmucl.pot
    ... ... @@ -10397,7 +10397,17 @@ msgid ""
    10397 10397
     "  calling PROVIDE to indicate a successful load of the module.\n"
    
    10398 10398
     "\n"
    
    10399 10399
     "  While loading any files, *load-verbose* is bound to *require-verbose*\n"
    
    10400
    -"  which defaults to t."
    
    10400
    +"  which defaults to t.\n"
    
    10401
    +"\n"
    
    10402
    +"  The predefined modules included are :defsystem, :asdf, :lisp-unit,\n"
    
    10403
    +"  :unix, :clx, :clm, :hemlock, and :cmu-contribs.\n"
    
    10404
    +"\n"
    
    10405
    +"  The module :cmu-contribs differs from the other modules in that\n"
    
    10406
    +"  requiring this module only defines the following modules:\n"
    
    10407
    +"  \"contrib-demos\", \"contrib-follow-mouse\",\n"
    
    10408
    +"  \"contrib-games-feebs\", \"contrib-hist\", \"contrib-psgraph\",\n"
    
    10409
    +"  \"contrib-ops\", \"contrib-embedded-c\", \"contrib-sprof\", and\n"
    
    10410
    +"  \"contrib-packed-sse2\". "
    
    10401 10411
     msgstr ""
    
    10402 10412
     
    
    10403 10413
     #: src/code/module.lisp
    

  • src/i18n/locale/en@piglatin/LC_MESSAGES/cmucl.po
    ... ... @@ -14850,6 +14850,7 @@ msgstr ""
    14850 14850
     "  asecay-ensitivesay."
    
    14851 14851
     
    
    14852 14852
     #: src/code/module.lisp
    
    14853
    +#, fuzzy
    
    14853 14854
     msgid ""
    
    14854 14855
     "Loads a module when it has not been already.  Pathname, if\n"
    
    14855 14856
     "  supplied, is a single pathname or list of pathnames to be loaded if\n"
    
    ... ... @@ -14872,7 +14873,17 @@ msgid ""
    14872 14873
     "  calling PROVIDE to indicate a successful load of the module.\n"
    
    14873 14874
     "\n"
    
    14874 14875
     "  While loading any files, *load-verbose* is bound to *require-verbose*\n"
    
    14875
    -"  which defaults to t."
    
    14876
    +"  which defaults to t.\n"
    
    14877
    +"\n"
    
    14878
    +"  The predefined modules included are :defsystem, :asdf, :lisp-unit,\n"
    
    14879
    +"  :unix, :clx, :clm, :hemlock, and :cmu-contribs.\n"
    
    14880
    +"\n"
    
    14881
    +"  The module :cmu-contribs differs from the other modules in that\n"
    
    14882
    +"  requiring this module only defines the following modules:\n"
    
    14883
    +"  \"contrib-demos\", \"contrib-follow-mouse\",\n"
    
    14884
    +"  \"contrib-games-feebs\", \"contrib-hist\", \"contrib-psgraph\",\n"
    
    14885
    +"  \"contrib-ops\", \"contrib-embedded-c\", \"contrib-sprof\", and\n"
    
    14886
    +"  \"contrib-packed-sse2\". "
    
    14876 14887
     msgstr ""
    
    14877 14888
     "Oadslay away odulemay enwhay itway ashay otnay eenbay alreadyway.  "
    
    14878 14889
     "Athnamepay, ifway\n"
    

  • src/i18n/locale/ko/LC_MESSAGES/cmucl.po
    ... ... @@ -10422,7 +10422,17 @@ msgid ""
    10422 10422
     "  calling PROVIDE to indicate a successful load of the module.\n"
    
    10423 10423
     "\n"
    
    10424 10424
     "  While loading any files, *load-verbose* is bound to *require-verbose*\n"
    
    10425
    -"  which defaults to t."
    
    10425
    +"  which defaults to t.\n"
    
    10426
    +"\n"
    
    10427
    +"  The predefined modules included are :defsystem, :asdf, :lisp-unit,\n"
    
    10428
    +"  :unix, :clx, :clm, :hemlock, and :cmu-contribs.\n"
    
    10429
    +"\n"
    
    10430
    +"  The module :cmu-contribs differs from the other modules in that\n"
    
    10431
    +"  requiring this module only defines the following modules:\n"
    
    10432
    +"  \"contrib-demos\", \"contrib-follow-mouse\",\n"
    
    10433
    +"  \"contrib-games-feebs\", \"contrib-hist\", \"contrib-psgraph\",\n"
    
    10434
    +"  \"contrib-ops\", \"contrib-embedded-c\", \"contrib-sprof\", and\n"
    
    10435
    +"  \"contrib-packed-sse2\". "
    
    10426 10436
     msgstr ""
    
    10427 10437
     
    
    10428 10438
     #: src/code/module.lisp