diff options
author | Mark H Weaver <mhw@netris.org> | 2014-04-24 17:57:19 -0400 |
---|---|---|
committer | Mark H Weaver <mhw@netris.org> | 2014-04-24 18:22:04 -0400 |
commit | e0da53b4fe4abee2cdcd97fe46eeefcaab1da631 (patch) | |
tree | d6200a5107d2a63070ffa0fbc875c61a44f781ea /module/system/base | |
parent | 4755604501948008849dcc9e114e5c84f355624d (diff) |
Support weak vectors, arrays, and bitvectors in (system base types).
* module/system/base/types.scm (%tc7-wvect, %tc7-array, %tc7-bitvector):
New variables.
(cell->object): Add cases for weak vectors, arrays, and bitvectors.
Diffstat (limited to 'module/system/base')
-rw-r--r-- | module/system/base/types.scm | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/module/system/base/types.scm b/module/system/base/types.scm index 4544a6ba0..de86bfc0b 100644 --- a/module/system/base/types.scm +++ b/module/system/base/types.scm @@ -242,6 +242,7 @@ the matching bits, possibly with bitwise operations to extract it from BITS." (define %tc3-struct 1) (define %tc7-symbol 5) (define %tc7-vector 13) +(define %tc7-wvect 15) (define %tc7-string 21) (define %tc7-number 23) (define %tc7-hashtable 29) @@ -255,6 +256,8 @@ the matching bits, possibly with bitwise operations to extract it from BITS." (define %tc7-vm-continuation 71) (define %tc7-bytevector 77) (define %tc7-program 79) +(define %tc7-array 85) +(define %tc7-bitvector 87) (define %tc7-port 125) (define %tc7-smob 127) @@ -447,6 +450,8 @@ using BACKEND." (bytevector->uint-list words (native-endianness) %word-size))) vector))) + (((_ & #x7f = %tc7-wvect)) + (inferior-object 'weak-vector address)) ; TODO: show elements ((((n << 8) || %tc7-fluid) init-value) (inferior-fluid n #f)) ; TODO: show current value (((_ & #x7f = %tc7-dynamic-state)) @@ -474,6 +479,10 @@ using BACKEND." (inferior-object 'vm address)) (((_ & #x7f = %tc7-vm-continuation)) (inferior-object 'vm-continuation address)) + (((_ & #x7f = %tc7-array)) + (inferior-object 'array address)) + (((_ & #x7f = %tc7-bitvector)) + (inferior-object 'bitvector address)) ((((smob-type << 8) || %tc7-smob) word1) (inferior-smob backend smob-type address)))))) |