1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-02 04:40:29 +02:00
guile/module
Julian Graham fe15364988 Improve performance of R6RS records implementation
Reimplement record-type descriptors as vtables for record structs, saving
us what was an expensive inspection of a record's vtable layout string to
determine its type.

* module/rnrs/records/inspection.scm (record-field-mutable?): Check
  mutability using the bit field stored in the record-type descriptor
  instead of the record struct's vtable.
* module/rnrs/records/procedural.scm (record-internal?): Reimplement as a
  delegation to a check of the passed struct's vtable against
  `record-type-descriptor?'.
  (record-type-vtable): Modify to include base vtable layout as a prefix
  of the record-type-descriptor layout so that all record-type instances
  are now also vtables.
  (make-record-type-descriptor): Remove field vtable; build up a mutability
  bit field to use for fast mutability checks.
  (record-accessor, record-mutator): Use field struct and mutability bit
  field.
2010-10-22 14:34:49 -04:00
..
ice-9 rdelim cleanups 2010-10-19 22:59:09 +02:00
language Tweak -Wunused-variable' and -Wunused-toplevel' for special names. 2010-10-20 23:45:59 +02:00
oop Remove goops-version, which is no longer defined 2010-10-02 18:14:45 +01:00
rnrs Improve performance of R6RS records implementation 2010-10-22 14:34:49 -04:00
scripts Placate `-Wformat'. 2010-10-13 00:06:29 +02:00
srfi re-implement srfi-34's guard with syntax-case 2010-10-14 16:13:57 +02:00
sxml ssax: add procs to define parsed entities 2010-10-14 12:37:31 +02:00
system ,frame and related commands handle for-trap? appropriately 2010-10-12 13:24:46 +02:00
texinfo Fix typos. 2010-09-02 00:04:39 +02:00
web web/uri: reimplement for rfc 3986, add tests 2010-10-17 20:35:22 +02:00
Makefile.am web/uri: reimplement for rfc 3986, add tests 2010-10-17 20:35:22 +02:00
rnrs.scm back-compat in (rnrs) for deprecated modules-in-value-namespace 2010-09-02 21:31:55 -07:00
statprof.scm remove a number of debug options 2010-09-24 20:57:01 +02:00
texinfo.scm Remove unused top-level variables. 2010-01-11 01:21:14 +01:00