Skip to content

perf(packages/codegen): remove redundant setting of last in printImportAttributes and printIf - #25882

Merged
graphite-app[bot] merged 1 commit into
mainfrom
om/08-18-perf_packages_codegen_remove_redundant_setting_of_last_in_printimportattributes_and_printif_
Aug 18, 2026
Merged

graphite-app[bot] merged 1 commit into
mainfrom
om/08-18-perf_packages_codegen_remove_redundant_setting_of_last_in_printimportattributes_and_printif_

Conversation

@overlookmotel

@overlookmotel overlookmotel commented Aug 18, 2026

Copy link
Copy Markdown
Member

Follow-on after #25585. Small optimization.

No point setting last here, since in both cases its immediately overwritten before anything else can read it.

overlookmotel commented Aug 18, 2026

Copy link
Copy Markdown
Member Author

How to use the Graphite Merge Queue

Add either label to this PR to merge it via the merge queue:

  • 0-merge - adds this PR to the back of the merge queue
  • hotfix - for urgent changes, fast-track this PR to the front of 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.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR makes a small performance-focused cleanup in the JavaScript code generator by avoiding redundant updates to state.last in two printing paths where the value is immediately superseded before any reader can observe it.

Changes:

  • Use writeNoLast in printIf when emitting ") " immediately followed by a write that overwrites state.last.
  • Use writeNoLast in printImportAttributes when emitting the leading space before establishing the mapping anchor and writing "with { ".

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
packages/codegen/src-js/print/statement.ts Avoids redundant state.last update in the ambiguous-else wrapping branch of printIf.
packages/codegen/src-js/print/module.ts Avoids redundant state.last update when printing the leading space for with { … } import attributes.

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

@camc314 camc314 added the 0-merge Merge with Graphite Merge Queue label Aug 18, 2026

camc314 commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Merge activity

…mportAttributes` and `printIf` (#25882)

Follow-on after #25585. Small optimization.

No point setting `last` here, since in both cases its immediately overwritten before anything else can read it.
@graphite-app
graphite-app Bot force-pushed the om/08-18-perf_packages_codegen_combine_2_writes_in_printjsxelement_ branch from 9a09c76 to c6e44c6 Compare August 18, 2026 16:54
@graphite-app
graphite-app Bot force-pushed the om/08-18-perf_packages_codegen_remove_redundant_setting_of_last_in_printimportattributes_and_printif_ branch from edd20ed to a734af5 Compare August 18, 2026 16:55
Base automatically changed from om/08-18-perf_packages_codegen_combine_2_writes_in_printjsxelement_ to main August 18, 2026 16:59
@graphite-app graphite-app Bot removed the 0-merge Merge with Graphite Merge Queue label Aug 18, 2026
@graphite-app
graphite-app Bot merged commit a734af5 into main Aug 18, 2026
31 checks passed
@graphite-app
graphite-app Bot deleted the om/08-18-perf_packages_codegen_remove_redundant_setting_of_last_in_printimportattributes_and_printif_ branch August 18, 2026 17:01
graphite-app Bot pushed a commit that referenced this pull request Aug 19, 2026
### 🚀 Features

- 83cb516 minifier: Improve negation of expressions in boolean context (#25755) (Armano)

### 🐛 Bug Fixes

- 134fb22 isolated-declarations: Preserve unresolved parameter types (#25909) (Dunqing)
- 526c2b3 codegen: Remove deprecated test APIs (#25889) (camc314)
- 344a9b2 codegen: Align enum template sourcemaps (#25872) (camc314)

### ⚡ Performance

- 5ef0c93 minifier: Unwrap all unary exprs without creating dummy expressions (#25891) (Armano)
- 8783524 packages/codegen: Remove loop from `growMappingBuffer` (#25886) (overlookmotel)
- b6b14c0 packages/codegen: Remove redundant branch (#25885) (overlookmotel)
- be6adf0 packages/sourcemap: Make `location` passed to `recordSourceMapping` always a number (#25884) (overlookmotel)
- f720f15 packages/codegen: Take named-mapping only code off hot path in `recordSourceMapping` (#25883) (overlookmotel)
- a734af5 packages/codegen: Remove redundant setting of `last` in `printImportAttributes` and `printIf` (#25882) (overlookmotel)
- c6e44c6 packages/codegen: Combine 2 writes in `printJSXElement` (#25881) (overlookmotel)
- 8801662 packages/codegen: Remove redundant mapping from `printParams` (#25880) (overlookmotel)

### 📚 Documentation

- 5ad330e packages/codegen: Reformat comments (#25876) (overlookmotel)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-codegen Area - Code Generation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

Sponsor
SponsoredKunjungi sekarang
Promo