Skip to content

docs: design doc for reference_needed_symbols#9264

Merged
graphite-app[bot] merged 1 commit into
mainfrom
04-29-docs_reference_needed_symbols
Apr 30, 2026
Merged

docs: design doc for reference_needed_symbols#9264
graphite-app[bot] merged 1 commit into
mainfrom
04-29-docs_reference_needed_symbols

Conversation

@IWANABETHATGUY

@IWANABETHATGUY IWANABETHATGUY commented Apr 29, 2026

Copy link
Copy Markdown
Member

Adds a design doc for the reference_needed_symbols link-stage pass under meta/design/linking/, covering pipeline placement, dispatch rules (by import kind / module kind / wrap kind / reexport flag), the invariants include_statements relies on, and implementation constraints (parallel-mutation casts on stmt_infos/depended_runtime_helper, and the deferred record_meta_pairs defer-list). Also corrects a stale comment in code_splitting.rssafely_merge_cjs_ns_map is populated by determine_safely_merge_cjs_ns, not by reference_needed_symbols.

IWANABETHATGUY commented Apr 29, 2026

Copy link
Copy Markdown
Member Author

How to use the Graphite Merge Queue

Add the label graphite: merge-when-ready to this PR to add it to the merge queue.

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

@IWANABETHATGUY
IWANABETHATGUY changed the base branch from 04-28-docs_determine_module_exports_kind to graphite-base/9264 April 29, 2026 12:23
@IWANABETHATGUY
IWANABETHATGUY force-pushed the 04-29-docs_reference_needed_symbols branch from 8b5ffdd to fb5d22e Compare April 29, 2026 12:23
@IWANABETHATGUY
IWANABETHATGUY changed the base branch from graphite-base/9264 to 04-27-fix_avoid_unsafe_in_determine_module_exports_kind April 29, 2026 12:23
@graphite-app
graphite-app Bot force-pushed the 04-27-fix_avoid_unsafe_in_determine_module_exports_kind branch 2 times, most recently from 1f8cd40 to f3496ae Compare April 29, 2026 13:03
@graphite-app
graphite-app Bot force-pushed the 04-29-docs_reference_needed_symbols branch from fb5d22e to 54f5bef Compare April 29, 2026 13:03
@IWANABETHATGUY
IWANABETHATGUY force-pushed the 04-29-docs_reference_needed_symbols branch from 54f5bef to 703195f Compare April 29, 2026 15:46
@graphite-app
graphite-app Bot changed the base branch from 04-27-fix_avoid_unsafe_in_determine_module_exports_kind to graphite-base/9264 April 29, 2026 15:56
@graphite-app
graphite-app Bot force-pushed the graphite-base/9264 branch from 1c19c64 to 92c9230 Compare April 29, 2026 16:01
@graphite-app
graphite-app Bot force-pushed the 04-29-docs_reference_needed_symbols branch from 703195f to 119d78c Compare April 29, 2026 16:01
@graphite-app
graphite-app Bot changed the base branch from graphite-base/9264 to main April 29, 2026 16:02
@graphite-app
graphite-app Bot force-pushed the 04-29-docs_reference_needed_symbols branch from 119d78c to 30538df Compare April 29, 2026 16:02
@netlify

netlify Bot commented Apr 29, 2026

Copy link
Copy Markdown

Deploy Preview for rolldown-rs canceled.

Name Link
🔨 Latest commit 5eecace
🔍 Latest deploy log https://app.netlify.com/projects/rolldown-rs/deploys/69f2e1a297e5780008887e06

@IWANABETHATGUY
IWANABETHATGUY force-pushed the 04-29-docs_reference_needed_symbols branch from 30538df to 0ef96a7 Compare April 29, 2026 16:20
@IWANABETHATGUY IWANABETHATGUY changed the title docs: reference_needed_symbols docs: design doc for reference_needed_symbols Apr 29, 2026
@IWANABETHATGUY
IWANABETHATGUY force-pushed the 04-29-docs_reference_needed_symbols branch from 2072862 to 9d8a01c Compare April 29, 2026 17:04
@IWANABETHATGUY
IWANABETHATGUY marked this pull request as ready for review April 30, 2026 02:15
@codspeed-hq

codspeed-hq Bot commented Apr 30, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 4 untouched benchmarks
⏩ 10 skipped benchmarks1


Comparing 04-29-docs_reference_needed_symbols (9d8a01c) with main (92c9230)

Open in CodSpeed

Footnotes

  1. 10 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

IWANABETHATGUY commented Apr 30, 2026

Copy link
Copy Markdown
Member Author

Merge activity

  • Apr 30, 4:58 AM UTC: The merge label 'graphite: merge-when-ready' was detected. This PR will be added to the Graphite merge queue once it meets the requirements.
  • Apr 30, 4:58 AM UTC: IWANABETHATGUY added this pull request to the Graphite merge queue.
  • Apr 30, 5:03 AM UTC: Merged by the Graphite merge queue.

Adds a design doc for the `reference_needed_symbols` link-stage pass under `meta/design/linking/`, covering pipeline placement, dispatch rules (by import kind / module kind / wrap kind / reexport flag), the invariants `include_statements` relies on, and implementation constraints (parallel-mutation casts on `stmt_infos`/`depended_runtime_helper`, and the deferred `record_meta_pairs` defer-list). Also corrects a stale comment in `code_splitting.rs` — `safely_merge_cjs_ns_map` is populated by `determine_safely_merge_cjs_ns`, not by `reference_needed_symbols`.
@graphite-app
graphite-app Bot force-pushed the 04-29-docs_reference_needed_symbols branch from 9d8a01c to 5eecace Compare April 30, 2026 04:59
@graphite-app
graphite-app Bot merged commit 5eecace into main Apr 30, 2026
33 checks passed
@graphite-app
graphite-app Bot deleted the 04-29-docs_reference_needed_symbols branch April 30, 2026 05:03
This was referenced May 6, 2026
@shulaoda shulaoda mentioned this pull request May 7, 2026
shulaoda added a commit that referenced this pull request May 7, 2026
## [1.0.0] - 2026-05-07

### 🐛 Bug Fixes

- dev/lazy: lazily compiled modules should be watched (#9301) by @h-a-n-a
- implement dynamic dominator merge logic (#9270) by @TheAlexLichter
- dev: apply __toCommonJS interop when CJS requires ESM in HMR finalizer (#9261) by @h-a-n-a

### 🚜 Refactor

- ecma_ast: tighten allocator access to enforce Sync invariant (#9278) by @IWANABETHATGUY
- scan_stage: remove stmt_infos field from EcmaView (#9276) by @IWANABETHATGUY
- link_stage: detach stmt_infos from EcmaView (#9274) by @IWANABETHATGUY
- link_stage: detach depended_runtime_helper from EcmaView to remove unsafe (#9265) by @IWANABETHATGUY
- link_stage: remove unsafe in determine_module_exports_kind (#9253) by @IWANABETHATGUY

### 📚 Documentation

- getting-started: remove RC warning for 1.0.0 release (#9310) by @shulaoda
- getting-started: update version references for 1.0.0 release (#9309) by @shulaoda
- add Vite+ tab to getting-started snippets (#9285) by @shulaoda
- lazy-barrel: clarify own-exports behavior for import-then-export records (#9298) by @shulaoda
- restructure top navigation around Learn vs Reference (#9284) by @shulaoda
- builtin-plugins: add bundle analyzer plugin docs (#9292) by @shulaoda
- design doc for reference_needed_symbols (#9264) by @IWANABETHATGUY

### ⚡ Performance

- devtools: write logs on a background thread (#9219) by @IWANABETHATGUY

### ⚙️ Miscellaneous Tasks

- mark esbuild/ts/parameter_props_use_define_for_class_fields_true as passed (#9308) by @sapphi-red
- deps: upgrade oxc to 0.129.0 (#9297) by @shulaoda
- deps: update rollup submodule for tests to v4.60.3 (#9294) by @sapphi-red
- deps: update test262 submodule for tests (#9295) by @sapphi-red
- ai: add rolldown REPL decode skill (#9245) by @Dunqing
pull Bot pushed a commit to olrtg/rolldown that referenced this pull request May 7, 2026
## [1.0.0] - 2026-05-07

### 🐛 Bug Fixes

- dev/lazy: lazily compiled modules should be watched (rolldown#9301) by @h-a-n-a
- implement dynamic dominator merge logic (rolldown#9270) by @TheAlexLichter
- dev: apply __toCommonJS interop when CJS requires ESM in HMR finalizer (rolldown#9261) by @h-a-n-a

### 🚜 Refactor

- ecma_ast: tighten allocator access to enforce Sync invariant (rolldown#9278) by @IWANABETHATGUY
- scan_stage: remove stmt_infos field from EcmaView (rolldown#9276) by @IWANABETHATGUY
- link_stage: detach stmt_infos from EcmaView (rolldown#9274) by @IWANABETHATGUY
- link_stage: detach depended_runtime_helper from EcmaView to remove unsafe (rolldown#9265) by @IWANABETHATGUY
- link_stage: remove unsafe in determine_module_exports_kind (rolldown#9253) by @IWANABETHATGUY

### 📚 Documentation

- getting-started: remove RC warning for 1.0.0 release (rolldown#9310) by @shulaoda
- getting-started: update version references for 1.0.0 release (rolldown#9309) by @shulaoda
- add Vite+ tab to getting-started snippets (rolldown#9285) by @shulaoda
- lazy-barrel: clarify own-exports behavior for import-then-export records (rolldown#9298) by @shulaoda
- restructure top navigation around Learn vs Reference (rolldown#9284) by @shulaoda
- builtin-plugins: add bundle analyzer plugin docs (rolldown#9292) by @shulaoda
- design doc for reference_needed_symbols (rolldown#9264) by @IWANABETHATGUY

### ⚡ Performance

- devtools: write logs on a background thread (rolldown#9219) by @IWANABETHATGUY

### ⚙️ Miscellaneous Tasks

- mark esbuild/ts/parameter_props_use_define_for_class_fields_true as passed (rolldown#9308) by @sapphi-red
- deps: upgrade oxc to 0.129.0 (rolldown#9297) by @shulaoda
- deps: update rollup submodule for tests to v4.60.3 (rolldown#9294) by @sapphi-red
- deps: update test262 submodule for tests (rolldown#9295) by @sapphi-red
- ai: add rolldown REPL decode skill (rolldown#9245) by @Dunqing

Co-authored-by: shulaoda <[email protected]>
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