Skip to content

Conversation

housel
Copy link
Member

@housel housel commented Sep 26, 2025

No description provided.

Slots that the compiler knows are aways initialized don't need to be
checked for %unbound when they are accessed, reducing overhead.

* sources/dylan/new-dispatch.dylan
  (<dispatch-state>): Add dummy initializations to slots that don't
   already have them (%ds-gf, %ds-parent, %ds-args, %ds-argnum-set,
   %ds-headed-methods).

* sources/dylan/condition.dylan
  (<handler>): Mark all slot init keywords as required.
* sources/dfmc/modeling/objects.dylan
  (<implementation-class>): Add a default initialization value to the
   direct-superclasses slot so that the compiler will consider it as
   guaranteed-initialized.
* sources/dfmc/conversion/define-class-slot-mop.dylan
  (slot-guaranteed-initialized-in-class?): Force the compiler to
   consider slots in <class>, in particular
   class-implementation-class, as guaranteed initialized since both
   the compile-time and generic cases initialize these object slots as
   immediately as possible. This change reduces the overhead on the
   critical path for type checks.
* documentation/source/release-notes/2025.2.rst: Add an entry for slot
  access improvements.
@housel housel merged commit 76159d0 into dylan-lang:master Sep 28, 2025
2 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants