| Commit message (Collapse) | Author | Files | Lines |
|
--
All changes to TinySCHEME were done by employees of g10 Code GmbH and
some minor things by a contractor.
Signed-off-by: Werner Koch <[email protected]>
|
|
--
Note that we used
git filter-branch --subdirectory-filter tests/gpgscm
in gnupg master to filter out the gpgscm part. This commit merely
moves these files to a subdirectory which will be used in libgpg-error
for gpgscm.
Signed-off-by: Werner Koch <[email protected]>
|
|
* tests/gpgscm/Makefile.am (gpgscm_SOURCES): Add new file.
* tests/gpgscm/scheme-private.h (struct cell): Move number to the top
of the union so that we can initialize it.
(struct scheme): Remove 'integer_segment'.
* tests/gpgscm/scheme.c (initialize_small_integers): Remove function.
(small_integers): New variable.
(MAX_SMALL_INTEGER): Compute.
(mk_small_integer): Adapt.
(mark): Avoid marking objects already marked. This allows us to run
the algorithm over objects in the rodata section if they are already
marked.
(scheme_init_custom_alloc): Remove initialization.
(scheme_deinit): Remove deallocation.
* tests/gpgscm/small-integers.h: New file.
--
Allocate small integers from a fixed pool in the rodata section. This
spares us the initialization, and deduplicates integers across
different processes. It also makes the integers immutable, increasing
memory safety.
Signed-off-by: Justus Winter <[email protected]>
|