;; Bytevectors.
(define-primitive-effects
+ ((bytevector-length _) (cause &type-check))
+
((bv-u8-ref bv n) (logior (cause &type-check) &bytevector))
((bv-s8-ref bv n) (logior (cause &type-check) &bytevector))
((bv-u16-ref bv n) (logior (cause &type-check) &bytevector))
((logand . _) (cause &type-check))
((logior . _) (cause &type-check))
((logior . _) (cause &type-check))
- ((lognot . _) (cause &type-check)))
+ ((lognot . _) (cause &type-check))
+ ((sqrt _) (cause &type-check))
+ ((abs _) (cause &type-check)))
;; Characters.
(define-primitive-effects
(cause &allocation))
(($ $prompt)
(cause &prompt))
- (($ $call)
+ ((or ($ $call) ($ $callk))
(logior &all-effects-but-bailout (cause &all-effects-but-bailout)))
(($ $primcall name args)
(primitive-effects dfg name args))))
(vector-set!
effects
n
- (match (lookup-cont (cfa-k-sym cfa n) (dfg-cont-table dfg))
+ (match (lookup-cont (cfa-k-sym cfa n) dfg)
(($ $kargs names syms body)
(expression-effects (find-expression body) dfg))
(($ $kreceive arity kargs)