Home GnuPG
Diffusion GnuPG 38c955599f7c

gpgscm: Remove framework for immediate values.
38c955599f7cUnpublished

Unpublished Commit ยท Learn More

Not On Permanent Ref: This commit is not an ancestor of any permanent ref.

Description

gpgscm: Remove framework for immediate values.

* tests/gpgscm/scheme.c (IMMEDIATE_TAG): Remove macro.
(is_immediate): Likewise.
(set_immediate): Likewise.
(clr_immediate): Likewise.
(enum scheme_types): Set the LSB in every value.
(fill_vector): Adapt.
(vector_elem): Likewise.
(set_vector_elem): Likewise.
(mark): Likewise.
(gc): Test for the LSB to tell typeflags apart from pointers stored in
the same memory location.

Supporting immediate values would require invasive changes to the
interpreter and is likely not worth the trouble. On the other hand,
tagging pointers in vectors complicated the hash table implementation
needlessly. Therefore, I remove this again.

This fixes a crash on big endian architectures.

  • GnuPG-bug-id: T2996
  • Signed-off-by: Justus Winter <justus@g10code.com>

Details

Provenance
justusAuthored on Mar 16 2017, 4:58 PM
Parents
rG8c8ce8711d9c: agent,g10: Remove redundant SERIALNO request.
Branches
Unknown
Tags
Unknown

Event Timeline

Justus Winter <justus@g10code.com> committed rG38c955599f7c: gpgscm: Remove framework for immediate values. (authored by Justus Winter <justus@g10code.com>).Mar 17 2017, 10:34 AM
justus mentioned this in Unknown Object (Maniphest Task).Mar 27 2017, 5:34 PM