RTL compiler supports static bitvectors
* libguile/arrays.c (scm_from_contiguous_typed_array): * libguile/bytevectors.c (scm_uniform_array_to_bytevector): For bitvectors, round up the length to 32-bit units, as they are stored internally. Otherwise I think this probably does the wrong thing for the last word on big-endian systems. * libguile/bitvectors.c (BITVECTOR_LENGTH, BITVECTOR_BITS): (scm_c_make_bitvector): Reorder the length and pointer words to match the layout of bytevectors. * module/language/cps/primitives.scm (*branching-primcall-arities*): * module/system/vm/assembler.scm (br-if-bitvector): * module/system/vm/disassembler.scm (code-annotation): Add bitvector test support. * module/system/vm/assembler.scm (<uniform-vector-backing-store>): Add an element-size field. (intern-constant): Adapt make-uniform-vector-backing-store call. Use uniform-array->bytevector, as the old compiler did. (link-data): Add bitvector cases.
This commit is contained in:
parent
9ae9debbd3
commit
d65514a2de
6 changed files with 38 additions and 18 deletions
|
|
@ -75,6 +75,7 @@
|
|||
(vector? . (1 . 1))
|
||||
(symbol? . (1 . 1))
|
||||
(variable? . (1 . 1))
|
||||
(bitvector? . (1 . 1))
|
||||
(bytevector? . (1 . 1))
|
||||
(char? . (1 . 1))
|
||||
(eq? . (1 . 2))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue