HCoop
/
bpt
/
guile.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
(system base types) knows about variables
[bpt/guile.git]
/
module
/
system
/
base
/
types.scm
diff --git
a/module/system/base/types.scm
b/module/system/base/types.scm
index
6c1d40d
..
26760d1
100644
(file)
--- a/
module/system/base/types.scm
+++ b/
module/system/base/types.scm
@@
-1,5
+1,5
@@
;;; 'SCM' type tag decoding.
;;; 'SCM' type tag decoding.
-;;; Copyright (C) 2014 Free Software Foundation, Inc.
+;;; Copyright (C) 2014
, 2015
Free Software Foundation, Inc.
;;;
;;; This library is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU Lesser General Public License as published by
;;;
;;; This library is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU Lesser General Public License as published by
@@
-241,6
+241,7
@@
the matching bits, possibly with bitwise operations to extract it from BITS."
;; Cell types.
(define %tc3-struct 1)
(define %tc7-symbol 5)
;; Cell types.
(define %tc3-struct 1)
(define %tc7-symbol 5)
+(define %tc7-variable 7)
(define %tc7-vector 13)
(define %tc7-wvect 15)
(define %tc7-string 21)
(define %tc7-vector 13)
(define %tc7-wvect 15)
(define %tc7-string 21)
@@
-251,6
+252,7
@@
the matching bits, possibly with bitwise operations to extract it from BITS."
(define %tc7-stringbuf 39)
(define %tc7-dynamic-state 45)
(define %tc7-frame 47)
(define %tc7-stringbuf 39)
(define %tc7-dynamic-state 45)
(define %tc7-frame 47)
+(define %tc7-keyword 53)
(define %tc7-program 69)
(define %tc7-vm-continuation 71)
(define %tc7-bytevector 77)
(define %tc7-program 69)
(define %tc7-vm-continuation 71)
(define %tc7-bytevector 77)
@@
-423,6
+425,8
@@
using BACKEND."
(match (cell->object buf backend)
(($ <stringbuf> string)
(string->symbol string))))
(match (cell->object buf backend)
(($ <stringbuf> string)
(string->symbol string))))
+ (((_ & #x7f = %tc7-variable) obj)
+ (inferior-object 'variable address))
(((_ & #x7f = %tc7-string) buf start len)
(match (cell->object buf backend)
(($ <stringbuf> string)
(((_ & #x7f = %tc7-string) buf start len)
(match (cell->object buf backend)
(($ <stringbuf> string)
@@
-472,6
+476,8
@@
using BACKEND."
(inferior-object 'hash-table address))
(((_ & #x7f = %tc7-pointer) address)
(make-pointer address))
(inferior-object 'hash-table address))
(((_ & #x7f = %tc7-pointer) address)
(make-pointer address))
+ (((_ & #x7f = %tc7-keyword) symbol)
+ (symbol->keyword (cell->object symbol backend)))
(((_ & #x7f = %tc7-vm-continuation))
(inferior-object 'vm-continuation address))
(((_ & #x7f = %tc7-weak-set))
(((_ & #x7f = %tc7-vm-continuation))
(inferior-object 'vm-continuation address))
(((_ & #x7f = %tc7-weak-set))