DescriptionRewrite Protected_scm for static lifetime requirements
The use of Protected_scm is required where the per-instance object
marking mechanisms don't work. This patch changes its semantics to
cater exclusively for the use case of permanent variable life time (as
opposed to permanent value life time). It no longer employs the
reversible scm_gc_protect_object but rather uses scm_permanent_object
for protecting one cons cell as its principal storage mechanism.
It is also ensured that construction/destruction (which happen at very
early/late phases of program execution) do not require a working memory
subsystem.
Also contains commit:
Avoid gratuitous use of Protected_scm copy constructor
Patch Set 1 #
|