File tree Expand file tree Collapse file tree 1 file changed +14
-7
lines changed
src/clojure/clojure/core/async/impl Expand file tree Collapse file tree 1 file changed +14
-7
lines changed Original file line number Diff line number Diff line change 341
341
:else :default )))
342
342
343
343
(defn item-to-ssa [x]
344
- (-item-to-ssa x))
345
-
346
- ; ; given an sexpr, dispatch on the first item
344
+ (fn [p]
345
+ (let [[itm p :as result] ((-item-to-ssa x) p)]
346
+ (if (and (instance? clojure.lang.IObj x)
347
+ (instance? clojure.lang.IObj itm))
348
+ [(with-meta itm
349
+ (merge (meta itm)
350
+ (meta x)))
351
+ p]
352
+ result))))
353
+
354
+ ; ; given an sexpr, dispatch on the first item
347
355
(defmulti sexpr-to-ssa (fn [[x & _]]
348
356
x))
349
357
526
534
_ (add-instruction (->Recur recurs val-ids))
527
535
528
536
recur-point (get-binding :recur-point )
529
-
537
+
530
538
_ (add-instruction (->Jmp nil recur-point))]
531
539
::terminated ))
532
540
538
546
else-blk (add-block )
539
547
final-blk (add-block )
540
548
_ (add-instruction (->CondBr test-id then-blk else-blk))
541
-
549
+
542
550
_ (set-block then-blk)
543
551
then-id (item-to-ssa then)
544
552
_ (if (not= then-id ::terminated )
803
811
ILock ; ;; Lock
804
812
(lock [_])
805
813
(unlock [_])
806
-
814
+
807
815
impl/Handler
808
816
(active? [_] true )
809
817
(lock-id [_] 0 )
859
867
(-> (parse-to-state-machine body env user-transitions)
860
868
second
861
869
(emit-state-machine num-user-params user-transitions)))
862
-
You can’t perform that action at this time.
0 commit comments