18 |
@c essay @ifinfo |
@c essay @ifinfo |
19 |
@c essay Data Representation in Guile |
@c essay Data Representation in Guile |
20 |
|
|
21 |
@c essay Copyright (C) 1998, 1999, 2000 Free Software Foundation |
@c essay Copyright (C) 1998, 1999, 2000, 2003 Free Software Foundation |
22 |
|
|
23 |
@c essay Permission is granted to make and distribute verbatim copies of |
@c essay Permission is granted to make and distribute verbatim copies of |
24 |
@c essay this manual provided the copyright notice and this permission notice |
@c essay this manual provided the copyright notice and this permission notice |
1908 |
whenever its contents are being accessed. Otherwise it could be freed |
whenever its contents are being accessed. Otherwise it could be freed |
1909 |
while code is still using it. |
while code is still using it. |
1910 |
|
|
|
@c NOTE: The varargs scm_remember_upto_here is deliberately not |
|
|
@c documented, because we don't think it can be implemented as a nice |
|
|
@c inline compiler directive or asm block. New _3, _4 or whatever |
|
|
@c forms could certainly be added though, if needed. |
|
|
|
|
|
@deftypefn {C Macro} void scm_remember_upto_here_1 (SCM obj) |
|
|
@deftypefnx {C Macro} void scm_remember_upto_here_2 (SCM obj1, SCM obj2) |
|
|
Create a reference to the given object or objects, so they're certain |
|
|
to be present on the stack or in a register and hence will not be |
|
|
freed by the garbage collector before this point. |
|
|
|
|
|
Note that these functions can only be applied to ordinary C local |
|
|
variables (ie.@: ``automatics''). Objects held in global or static |
|
|
variables or some malloced block or the like cannot be protected with |
|
|
this mechanism. |
|
|
@end deftypefn |
|
|
|
|
1911 |
For example, consider a procedure to convert image data to a list of |
For example, consider a procedure to convert image data to a list of |
1912 |
pixel values. |
pixel values. |
1913 |
|
|