[cells-cvs] CVS cells
ktilton
ktilton at common-lisp.net
Mon Jun 5 00:01:22 UTC 2006
Update of /project/cells/cvsroot/cells
In directory clnet:/tmp/cvs-serv2216
Modified Files:
link.lisp md-slot-value.lisp propagate.lisp
Log Message:
evolving geometry; refinement of test case 01c-cascade
--- /project/cells/cvsroot/cells/link.lisp 2006/05/20 06:32:19 1.9
+++ /project/cells/cvsroot/cells/link.lisp 2006/06/05 00:01:22 1.10
@@ -22,30 +22,14 @@
(eval-when (compile load)
(proclaim '(optimize (speed 3) (safety 0) (space 0) (debug 0))))
-
(defun c-link-ex (used &aux (user (car *c-calculators*)))
- (c-assert user)
- (c-assert used)
(when (c-optimized-away-p used) ;; 2005-05-21 removed slow type check that used is cell
(return-from c-link-ex nil))
-
-
- ;
- ; --------- debug stuff --------------
- (c-assert user)
- (c-assert (c-model user))
- (c-assert (c-model used))
-
- #+dfdbg (trc user "c-link > user, used" user used)
- (c-assert (not (eq :eternal-rest (md-state (c-model user)))))
- (c-assert (not (eq :eternal-rest (md-state (c-model used)))))
- (count-it :c-link-entry)
-
+ (trc nil "c-link-ex entry: used=" used :user user)
(multiple-value-bind (used-pos useds-len)
(loop with u-pos
for known in (cd-useds user)
counting known into length
- ;; do (print (list :data known length))
when (eq used known)
do
(count-it :known-used)
@@ -56,7 +40,9 @@
(trc nil "c-link > new user,used " user used)
(count-it :new-used)
(setf used-pos useds-len)
- (push used (cd-useds user)))
+ (push used (cd-useds user))
+ (user-ensure used user) ;; 060604 experiment was in unlink
+ )
(handler-case
(setf (sbit (cd-usage user) used-pos) 1)
@@ -68,7 +54,6 @@
used)
-
;--- c-unlink-unused --------------------------------
(defun c-unlink-unused (c &aux (usage (cd-usage c)))
@@ -81,7 +66,10 @@
(count-it :unlink-unused)
(c-unlink-user (car useds) c)
(rplaca useds nil))
- (user-ensure (car useds) c))))
+ (progn
+ ;; moved into c-link-ex 060604 (user-ensure (car useds) c)
+ )
+ )))
(if (cdr useds)
(progn
(nail-unused (cdr useds))
--- /project/cells/cvsroot/cells/md-slot-value.lisp 2006/05/30 02:47:45 1.15
+++ /project/cells/cvsroot/cells/md-slot-value.lisp 2006/06/05 00:01:22 1.16
@@ -42,13 +42,12 @@
(if c
(prog1
(with-integrity ()
- (c-value-ensure-current c :md-slot-value))
+ (c-value-ensure-current c))
(when (car *c-calculators*)
(c-link-ex c)))
(values (bd-slot-value self slot-name) nil)))
-(defun c-value-ensure-current (c &optional (debug-id :anon-caller))
- (declare (ignorable debug-id))
+(defun c-value-ensure-current (c)
(count-it :c-value-ensure-current)
(trc nil "c-value-ensure-current >" c)
(cond
@@ -59,7 +58,7 @@
((or (not (c-validp c))
(some (lambda (used)
- (c-value-ensure-current used :recursive-used)
+ (c-value-ensure-current used)
(trc nil "comparing pulses (user, used): " (c-pulse c)(c-pulse used))
(when (and (c-changed used) (> (c-pulse used)(c-pulse c)))
(trc nil "used changed" c used)
--- /project/cells/cvsroot/cells/propagate.lisp 2006/05/30 02:47:45 1.13
+++ /project/cells/cvsroot/cells/propagate.lisp 2006/06/05 00:01:22 1.14
@@ -165,11 +165,11 @@
(with-integrity (:tell-dependents c)
(assert (null *c-calculators*))
(let ((*causation* causation))
- (trc nil "c-propagate-to-users > notifying users of" c)
+ (trc "c-propagate-to-users > notifying users of" c (mapcar 'c-slot-name (c-users c)))
(dolist (user (c-users c))
(unless (member (cr-lazy user) '(t :always :once-asked))
(trc nil "propagating to user is (used,user):" c user)
- (c-value-ensure-current user :user-propagation))))))))
+ (c-value-ensure-current user))))))))
More information about the Cells-cvs
mailing list