Skip to content

lazy part21 indexing - #478

Merged
starseeker merged 11 commits into
stepcode:developfrom
starseeker:upstream/lazy-part21-indexing
Aug 2, 2026
Merged

lazy part21 indexing#478
starseeker merged 11 commits into
stepcode:developfrom
starseeker:upstream/lazy-part21-indexing

Conversation

@starseeker

Copy link
Copy Markdown
Member

Various additions and changes to the stepcode cllazyfile code in response to testing it out with some fairly heavy duty conversion work.

@starseeker
starseeker force-pushed the upstream/lazy-part21-indexing branch from 5d0dc88 to 4b8192a Compare August 2, 2026 02:23
Use modern target_link_libraries scopes so libraries publish their
transitive requirements and executables keep theirs private. This
preserves schema test linkage with current CMake versions.
Add a lazy Part 21 reader and instance manager that index records
and resolve SDAI instances on demand. Include diagnostics, cache
management, reference indexes, and baseline coverage for lazy reads.
Skip comments as opaque text during token searches so quoted text
and string-control sequences within a comment cannot affect indexing.
Track in-progress instance loads and report recursive references
instead of recursing indefinitely through a cyclic Part 21 graph.
Track indexed record bounds and expose the source-byte footprint of
materialized instances in cache statistics. Avoid promoting batch-owned
cache hits during reference resolution.
Retain record extents during indexing and provide stream-safe access
to an instance's original Part 21 record without materializing it.
Permit callers to map known, attribute-compatible source keywords
during object creation while preserving the original keyword in the
lazy index.
Check cancellation while finding dependencies, pinning records, and
resolving recursive references. Discard an object if cancellation
interrupts its materialization.
Handle nested SCOPE constructs and export lists while indexing Part 21
records, preserving scope-owned source records and their references.
Add scoped-record coverage.
@starseeker
starseeker force-pushed the upstream/lazy-part21-indexing branch from 4b8192a to 0e091f0 Compare August 2, 2026 02:29
The 35 AP209/AP214 crashes came from inverse resolution inspecting an
instance still being materialized. The loader now defers such inverse
passes until explicit attributes are complete, avoids partial duplicate
inverse population, and guards invalid/null referrers. See
src/cllazyfile/lazyInstMgr.cc:301 and src/cllazyfile/lazyRefs.h:90.
@starseeker
starseeker merged commit 3d74790 into stepcode:develop Aug 2, 2026
6 checks passed
@starseeker
starseeker deleted the upstream/lazy-part21-indexing branch August 2, 2026 08:59
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.

1 participant