Skip to content

Conversation

@adrian-prantl
Copy link

@adrian-prantl adrian-prantl commented Nov 14, 2025

Set up an explicit Swift module loader
and populate it with explicitly specified Swift modules.

This change allows LLDB to precisely load the explicitly built main
module belonging to the current CU from disk. The mere presence of an
ESML also recursively enables the same behavior for all of its
dependencies, since that functionality is already implemented in the
Swift compiler.

This fixes a performance cliff encountered when debugging with dSYMs
which contain all user modules, but none from the SDK, thus triggering
an implicit build of any SDK dependencies.

During the transition period this behavior can be disabled with a setting.

rdar://164274588

Depends on:
#11833
swiftlang/swift#85519
swiftlang/swift-driver#2012

and populate it with explicitly specified Swift modules.

This change allows LLDB to precisely load the explicitly built main
module belonging to the current CU from disk. The mere presence of an
ESML also recursively enables the same behavior for all of its
dependencies, since that functionality is already implemented in the
Swift compiler.

This fixes a performance cliff encountered when debugging with dSYMs
which contain all user modules, but none from the SDK, thus triggering
an implicit build of any SDK dependencies.

During the transition period this behavior can be disabled with a setting.

rdar://164274588
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