diff options
author | Ludovic Courtès <ludo@gnu.org> | 2010-03-15 15:39:43 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2010-03-15 15:39:43 +0100 |
commit | 9823fd399c4addd852409c20e3112e62dca0a937 (patch) | |
tree | 87cc39a1423fad50bbf9045162d41c0fbe1fef9d /libguile/vm-i-system.c | |
parent | deec8986ff889724a6fa3fdd9d5e7221473956fe (diff) | |
download | guile-9823fd399c4addd852409c20e3112e62dca0a937.tar.gz |
Make sure the whole VM stack is always scanned by the GC.
Thanks to Andy for noticing this.
* libguile/vm-engine.h (SYNC_REGISTER, CACHE_REGISTER): Add comment.
* libguile/vm-i-scheme.c (make_struct): Call `SYNC_REGISTER ()' in all
cases since the GC is going to run.
(struct_ref, struct_set): Call `SYNC_REGISTER ()' on the slow path.
(BV_REF_WITH_ENDIANNESS, BV_FIXABLE_INT_REF, BV_INT_REF): Likewise.
(BV_FLOAT_REF): Always `SYNC_REGISTER ()'.
Diffstat (limited to 'libguile/vm-i-system.c')
0 files changed, 0 insertions, 0 deletions