Changeset 15264
- Timestamp:
- Mar 21, 2012, 3:11:46 PM (13 years ago)
- Location:
- trunk/source
- Files:
-
- 3 edited
-
level-0/X86/x86-hash.lisp (modified) (1 diff)
-
level-0/l0-hash.lisp (modified) (8 diffs)
-
lib/compile-ccl.lisp (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/level-0/X86/x86-hash.lisp
r13067 r15264 125 125 ;;; Strip the tag bits to turn x into a fixnum 126 126 (defx86lapfunction strip-tag-to-fixnum ((x arg_z)) 127 (andb ($ (lognot x8664::fixnummask)) (%b x)) 127 (movq (% x) (% imm0)) 128 (shlq ($ x8664::ntagbits) (% imm0)) 129 (box-fixnum imm0 arg_z) 128 130 (single-value-return)) 129 131 -
trunk/source/level-0/l0-hash.lisp
r15093 r15264 45 45 (declaim (inline hash-lock-free-p lock-free-gethash))) 46 46 47 #+eq-hash-monitor 48 (progn 49 (defparameter eq-hash-find-calls 0) 50 (defparameter eq-hash-find-probes 0) 51 (defparameter eq-hash-find-for-put-calls 0) 52 (defparameter eq-hash-find-for-put-probes 0) 53 ) 47 54 48 55 … … 99 106 (logbitp (the (integer 0 (#.(- target::nbits-in-word target::fixnumshift))) 100 107 typecode) 101 (logior (ash 1 target:: tag-fixnum)102 (ash 1 target::subtag-bignum)108 (logior (ash 1 target::subtag-bignum) 109 #-64-bit-target 103 110 (ash 1 target::subtag-single-float) 104 111 (ash 1 target::subtag-double-float) … … 141 148 (defun mixup-hash-code (fixnum) 142 149 (declare (fixnum fixnum)) 150 #+mixup-hash-code-nop 151 fixnum 152 #-mixup-hash-code-nop 143 153 (the fixnum 144 154 (+ fixnum … … 149 159 (defun mixup-hash-code (fixnum) 150 160 (declare (fixnum fixnum)) 161 #+mixup-hash-code-nop 162 fixnum 163 #-mixup-hash-code-nop 151 164 (the fixnum 152 165 (+ fixnum … … 1277 1290 (defun eq-hash-find (hash key) 1278 1291 (declare (optimize (speed 3) (safety 0))) 1292 #+eq-hash-monitor (progn 1293 (incf eq-hash-find-calls) 1294 (incf eq-hash-find-probes)) 1279 1295 (let* ((vector (nhash.vector hash)) 1280 1296 (hash-code … … 1302 1318 (declare (fixnum secondary-hash initial-index count length)) 1303 1319 (loop 1320 #+eq-hash-monitor (incf eq-hash-find-probes) 1304 1321 (incf vector-index secondary-hash) 1305 1322 (when (>= vector-index length) … … 1319 1336 (defun eq-hash-find-for-put (hash key) 1320 1337 (declare (optimize (speed 3) (safety 0))) 1338 #+eq-hash-monitor (progn 1339 (incf eq-hash-find-for-put-calls) 1340 (incf eq-hash-find-for-put-probes)) 1321 1341 (let* ((vector (nhash.vector hash)) 1322 1342 (hash-code … … 1350 1370 (declare (fixnum secondary-hash initial-index count length)) 1351 1371 (loop 1372 #+eq-hash-monitor (incf eq-hash-find-for-put-probes) 1352 1373 (incf vector-index secondary-hash) 1353 1374 (when (>= vector-index length) -
trunk/source/lib/compile-ccl.lisp
r15125 r15264 110 110 (defparameter *arm-xdev-modules* '(arm-lapmacros )) 111 111 112 (defmacro with-global-optimization-settings ((&key speed 113 space 114 safety 115 debug 116 compilation-speed) 117 &body body 118 &environment env) 119 (flet ((check-quantity (val default) 120 (if val 121 (require-type val '(mod 4)) 122 default))) 123 (multiple-value-bind (body decls) (parse-body body env) 124 `(let* ((*nx-speed* ,(check-quantity speed '*nx-speed*)) 125 (*nx-space* ,(check-quantity space '*nx-space*)) 126 (*nx-safety* ,(check-quantity safety '*nx-safety*)) 127 (*nx-debug* ,(check-quantity debug '*nx-debug*)) 128 (*nx-cspeed* ,(check-quantity compilation-speed '*nx-cspeed*))) 129 ,@decls 130 ,@body)))) 131 112 132 (defun target-xdev-modules (&optional (target 113 133 (backend-target-arch-name … … 330 350 ) 331 351 332 (defmacro with-global-optimization-settings ((&rest override) &body body) 333 `(let* ((*nx-speed* ,(or (cadr (assoc 'speed override)) 1)) 334 (*nx-space* ,(or (cadr (assoc 'space override)) 1)) 335 (*nx-cspeed* ,(or (cadr (assoc 'compilation-speed override)) 1)) 336 (*nx-safety* ,(or (cadr (assoc 'safety override)) 1)) 337 (*nx-debug* ,(or (cadr (assoc 'debug override)) 1))) 338 ,@body)) 352 339 353 340 354 (defun compile-ccl (&optional force-compile) … … 562 576 (format nil "Error executing ~a: ~a~&~a" procname string reminder))))) 563 577 564 (defparameter *known-optional-features* '(:count-gf-calls :monitor-futex-wait :unique-dcode :qres-ccl ))578 (defparameter *known-optional-features* '(:count-gf-calls :monitor-futex-wait :unique-dcode :qres-ccl :eq-hash-monitor :mixup-hash-code-nop)) 565 579 (defvar *build-time-optional-features* nil) 566 580 (defvar *ccl-save-source-locations* :no-text) … … 851 865 (with-preserved-working-directory () 852 866 (let* ((*package* (find-package "CL-USER"))) 853 (ensure-tests-loaded :force force :update update :ansi ansi :ccl ccl) 867 (with-global-optimization-settings () 868 (ensure-tests-loaded :force force :update update :ansi ansi :ccl ccl)) 854 869 (cwd "ccl:tests;ansi-tests;") 855 870 (let ((do-tests (find-symbol "DO-TESTS" "REGRESSION-TEST"))
Note:
See TracChangeset
for help on using the changeset viewer.
