Skip to content

Comments

refactor: store ast with same shape as module_table#5345

Merged
IWANABETHATGUY merged 1 commit intomainfrom
07-18-refactor_store_ast_just_like_symbol_db
Jul 18, 2025
Merged

refactor: store ast with same shape as module_table#5345
IWANABETHATGUY merged 1 commit intomainfrom
07-18-refactor_store_ast_just_like_symbol_db

Conversation

@IWANABETHATGUY
Copy link
Member

@IWANABETHATGUY IWANABETHATGUY commented Jul 18, 2025

Since the ast_vec is dense in most of the scenarios, store them as Vec<EcmaAstIdx,EcmaAst>, will not save too much memory, however, this also increasesthe complexity of accessing the ast, since you need to get the module first, then get ecmaAstIdx , and finally get the ast. For now, you could get ast directly with moduleIdx

Copy link
Member Author

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

@netlify
Copy link

netlify bot commented Jul 18, 2025

Deploy Preview for rolldown-rs canceled.

Name Link
🔨 Latest commit 65f8a21
🔍 Latest deploy log https://app.netlify.com/projects/rolldown-rs/deploys/687a549412f43e0008bb1cc8

@IWANABETHATGUY IWANABETHATGUY force-pushed the 07-18-refactor_store_ast_just_like_symbol_db branch from f5a2a1d to c0a136b Compare July 18, 2025 13:44
@IWANABETHATGUY IWANABETHATGUY changed the title refactor: store ast just like symbol_db refactor: store ast with same shape as module_table Jul 18, 2025
@IWANABETHATGUY IWANABETHATGUY force-pushed the 07-18-refactor_store_ast_just_like_symbol_db branch from c0a136b to 26217ce Compare July 18, 2025 13:45
@github-actions
Copy link
Contributor

github-actions bot commented Jul 18, 2025

Benchmarks Rust

  • target: main(e05aac6)
  • pr: 07-18-refactor_store_ast_just_like_symbol_db(65f8a21)
group                                                        pr                                     target
-----                                                        --                                     ------
bundle/bundle@multi-duplicated-top-level-symbol              1.00     76.5±2.30ms        ? ?/sec    1.00     76.7±1.97ms        ? ?/sec
bundle/bundle@multi-duplicated-top-level-symbol-sourcemap    1.01     89.2±3.34ms        ? ?/sec    1.00     88.2±1.72ms        ? ?/sec
bundle/bundle@rome_ts                                        1.00    113.2±1.58ms        ? ?/sec    1.00    113.1±1.80ms        ? ?/sec
bundle/bundle@rome_ts-sourcemap                              1.00    136.6±2.26ms        ? ?/sec    1.00    136.0±2.51ms        ? ?/sec
bundle/bundle@threejs                                        1.00     41.4±1.02ms        ? ?/sec    1.01     41.7±0.99ms        ? ?/sec
bundle/bundle@threejs-sourcemap                              1.02     52.4±2.37ms        ? ?/sec    1.00     51.2±0.90ms        ? ?/sec
bundle/bundle@threejs10x                                     1.00    437.2±4.48ms        ? ?/sec    1.00    435.9±4.66ms        ? ?/sec
bundle/bundle@threejs10x-sourcemap                           1.01    530.8±5.85ms        ? ?/sec    1.00    524.4±8.59ms        ? ?/sec
scan/scan@rome_ts                                            1.02     91.7±1.55ms        ? ?/sec    1.00     90.2±2.06ms        ? ?/sec
scan/scan@threejs                                            1.02     32.3±1.90ms        ? ?/sec    1.00     31.8±2.01ms        ? ?/sec
scan/scan@threejs10x                                         1.00    324.9±3.87ms        ? ?/sec    1.00    324.4±5.00ms        ? ?/sec

@IWANABETHATGUY IWANABETHATGUY marked this pull request as ready for review July 18, 2025 14:04
@IWANABETHATGUY IWANABETHATGUY force-pushed the 07-18-refactor_store_ast_just_like_symbol_db branch from 26217ce to 65f8a21 Compare July 18, 2025 14:05
@IWANABETHATGUY IWANABETHATGUY added this pull request to the merge queue Jul 18, 2025
Merged via the queue into main with commit d227c81 Jul 18, 2025
23 checks passed
@IWANABETHATGUY IWANABETHATGUY deleted the 07-18-refactor_store_ast_just_like_symbol_db branch July 18, 2025 14:18
This was referenced Jul 22, 2025
shulaoda added a commit that referenced this pull request Jul 22, 2025
## [1.0.0-beta.29] - 2025-07-22

### 🚀 Features

- rolldown_plugin_chunk_import_map: support custom file name (#5383) by
@shulaoda
- rolldown_plugin_chunk_import_map: emit standard import map (#5382) by
@shulaoda
- rolldown_plugin_chunk_import_map: support custom base url (#5381) by
@shulaoda
- support plugin context meta for native plugins (#5371) by @shulaoda
- rolldown: oxc v0.77.3 (#5367) by @Boshen
- rolldown_plugin_transform: align sourcemap enable logic (#5348) by
@shulaoda
- plugin_driver: use hook usage for `close_bundle` (#5361) by @shulaoda
- hmr: attach region comments for hmr patch (#5358) by @hyf0
- rolldown: add transformHiresSourcemap option (#5346) by @Brooooooklyn
- rolldown_plugin_web_worker_post: align `transform_ast` hook metadata
order to `post` (#5339) by @shulaoda

### 🐛 Bug Fixes

- when preserveEntrySignatures: false is set, output includes a circular
import (#5365) by @IWANABETHATGUY
- do not normalize iife global names (#5228) by @redstonekasi
- hmr: should not panic for editing modules that contain `import(..)`
(#5351) by @hyf0
- sync ast for newly added modules (#5354) by @IWANABETHATGUY
- used exports from dynamic imported module are removed incorrectly
(#5341) by @IWANABETHATGUY
- keep top level variables for non-esm format when minify is enabled
(#5332) by @sapphi-red
- rust: correctly return watch option (#5334) by @HigherOrderLogic

### 🚜 Refactor

- rolldown_plugin_chunk_import_map: clarify import map paths and output
filename (#5376) by @shulaoda
- rolldown: `collapse_sourcemaps` does not need to own a Vec (#5352) by
@Boshen
- rolldown_plugin_asset: improve readability for easier maintenance
(#5359) by @shulaoda
- ecmascript: remove unnecessary `allocator.alloc(program)` call (#5350)
by @Boshen
- store ast with same shape as module_table (#5345) by @IWANABETHATGUY
- simplify `is_dynamic_entry_alive` (#5342) by @IWANABETHATGUY
- rolldown_plugin_web_worker_post: tweak code organization (#5338) by
@shulaoda
- store `ScopeFlags` instead of `ScopeId` when traverse ast (#5330) by
@IWANABETHATGUY
- simplify `keep_names` VarDeclaration rewrite (#5325) by
@IWANABETHATGUY

### 📚 Documentation

- experimental: update the description of `chunkImportMap` (#5384) by
@shulaoda
- experiment: add usage documentation for `chunkImportMap` (#5379) by
@shulaoda

### ⚡ Performance

- plugin_driver: skip unused hooks early based on hook usage meta
(#5363) by @shulaoda
- rolldown: box `TransformOptions` (#5353) by @Boshen

### 🧪 Testing

- rust: hide runtime module output in snapshots to improve clarity
(#5366) by @hyf0
- node: put minify related tests in a single directory (#5333) by
@sapphi-red

### ⚙️ Miscellaneous Tasks

- examples: update `chunk-import-map` (#5385) by @shulaoda
- add `examples/chunk-import-map` (#5380) by @shulaoda
- deps: lock file maintenance (#5373) by @renovate[bot]
- deps: lock file maintenance rust crates (#5372) by @renovate[bot]
- deps: lock file maintenance npm packages (#5370) by @renovate[bot]
- deps: update dependency @napi-rs/wasm-runtime to v1 (#5369) by
@renovate[bot]
- deps: update taiki-e/install-action action to v2.56.19 (#5368) by
@renovate[bot]
- extract `HookOrderIndicates` logic (#5362) by @shulaoda
- rust: remove unnecessary `#[allow(unused)]` (#5360) by @shulaoda
- deps: update dependency rolldown-plugin-dts to v0.14.1 (#5357) by
@renovate[bot]
- use `debug=1` for profile.dev and profile.test (#5355) by
@IWANABETHATGUY
- deps: update dependency rolldown-plugin-dts to ^0.14.0 (#5349) by
@renovate[bot]
- remove packages/rolldown/npm/* from workspace config (#5347) by
@Brooooooklyn
- pnpm,justfile: enable pnpm `verifyDepsBeforeRun: install` (#5331) by
@Boshen
- update `build-js-glue` script (#5335) by @btea

### ◀️ Revert

- `test(rust): prevent meaningless snapshot change from bumping oxc
runtime versions #5312` (#5336) by @hyf0

### ❤️ New Contributors

* @redstonekasi made their first contribution in
[#5228](#5228)
* @HigherOrderLogic made their first contribution in
[#5334](#5334)

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