mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-18 07:12:26 -08:00
Several policies were activated for all SPEED declarations
This commit is contained in:
parent
570c5f49d5
commit
652ca5256c
1 changed files with 6 additions and 5 deletions
|
|
@ -150,7 +150,11 @@
|
|||
else do
|
||||
(case on-off
|
||||
((:only-on :on) (rplaca bits (logior (car bits) flag)))
|
||||
((:only-off :off) (rplacd bits (logior (cdr bits) flag))))))
|
||||
((:only-off :off) (rplacd bits (logior (cdr bits) flag)))))
|
||||
(loop for i from 0 to 3
|
||||
do (print (optimization-quality-switches quality i)))
|
||||
)
|
||||
(trace augment-policy)
|
||||
(defun policy-declaration-name (base)
|
||||
(intern (symbol-name base) (find-package "EXT")))
|
||||
(defun policy-function-name (base)
|
||||
|
|
@ -160,6 +164,7 @@
|
|||
(unintern name)
|
||||
(import name (find-package "EXT"))
|
||||
(export name (find-package "EXT"))
|
||||
(print whole)
|
||||
(let* ((test (ash 1 +last-optimization-bit+))
|
||||
(declaration-name (policy-declaration-name name))
|
||||
(function-name (policy-function-name name))
|
||||
|
|
@ -177,7 +182,6 @@
|
|||
(loop with extra = '()
|
||||
with slow = '()
|
||||
with conditions = (remove doc conditions)
|
||||
with trigger = nil
|
||||
for case = (pop conditions)
|
||||
while case
|
||||
do
|
||||
|
|
@ -208,7 +212,6 @@
|
|||
(push `(>= (cmp-env-optimization ',(first conditions) env)
|
||||
,(second conditions))
|
||||
slow)
|
||||
(setf trigger (eq case :on))
|
||||
(augment-policy (pop conditions) (pop conditions)
|
||||
case test))
|
||||
((:only-off :off)
|
||||
|
|
@ -225,8 +228,6 @@
|
|||
finally
|
||||
(progn
|
||||
(incf +last-optimization-bit+)
|
||||
(unless trigger
|
||||
(augment-policy 'speed 0 :on test))
|
||||
(return
|
||||
(and emit-function
|
||||
`(defun ,function-name (&optional (env *cmp-env*))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue