974_gpgscm-remove-immediates.diff
AbandonedPublic

Authored by justus on Mar 16 2017, 5:16 PM.

Details

Reviewers
None
Summary

commit d1294f7a11aad3918fbc0c4d47f8eeaefe6304fe
Author: Justus Winter <justus@g10code.com>
Date: Thu Mar 16 16:58:00 2017 +0100

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.

Signed-off-by: Justus Winter <justus@g10code.com>
Test Plan

Diff Detail

Lint
Lint Skipped
Unit
Unit Tests Skipped
justus abandoned this revision.Apr 3 2017, 12:00 PM

This was effective and has been merged.