diff options
author | Andy Wingo <wingo@pobox.com> | 2020-04-15 22:14:25 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2020-04-15 22:14:25 +0200 |
commit | d7fea134530e552e15732fba01257cf6fba10fec (patch) | |
tree | 92c4c938c414fcdb13187fc576a56f6ba3ffafb8 /module/system/vm/frame.scm | |
parent | 8110061e647134ab9071ecb5ce59b69b4ed6ed35 (diff) | |
download | guile-d7fea134530e552e15732fba01257cf6fba10fec.tar.gz |
bitvector-set-all-bits! / bitvector-clear-all-bits! replace bitvector-fill!
* NEWS: Add entry.
* doc/ref/api-data.texi (Bit Vectors): Update.
* libguile/bitvectors.h:
* libguile/bitvectors.c (scm_c_bitvector_set_all_bits_x)
(scm_c_bitvector_clear_all_bits_x): New functions.
* libguile/deprecated.h:
* libguile/deprecated.c (scm_bitvector_fill_x): Deprecate.
* module/ice-9/sandbox.scm (mutable-bitvector-bindings): Replace
bitvector-fill! with bitvector-set-all-bits! /
bitvector-clear-all-bits!.
* module/system/vm/disassembler.scm (static-opcode-set): Use
bitvector-set-bit!.
* module/system/vm/frame.scm (available-bindings): Use the new
interfaces.
* test-suite/tests/bitvectors.test: Update.
Diffstat (limited to 'module/system/vm/frame.scm')
-rw-r--r-- | module/system/vm/frame.scm | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/module/system/vm/frame.scm b/module/system/vm/frame.scm index 112187e8f..18987d994 100644 --- a/module/system/vm/frame.scm +++ b/module/system/vm/frame.scm @@ -224,7 +224,7 @@ (outv (make-vector len #f)) (tmp (make-bitvector (vector-length defs) #f))) (define (bitvector-copy! dst src) - (bitvector-fill! dst #f) + (bitvector-clear-all-bits! dst) (bitvector-set-bits! dst src)) (define (bitvector-meet! accum src) (bitvector-copy! tmp src) @@ -245,7 +245,9 @@ (kill (vector-ref killv n)) (gen (vector-ref genv n))) (let ((out-count (or changed? (bitvector-count out)))) - (bitvector-fill! in (not (zero? n))) + (if (zero? n) + (bitvector-clear-all-bits! in) + (bitvector-set-all-bits! in)) (let lp ((preds (vector-ref preds n))) (match preds (() #t) |