Skip to content

[GR-66216] [GR-66435] Improve loop explosion performance during partial evaluation #11459

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 2, 2025

Conversation

graalvmbot
Copy link
Collaborator

@graalvmbot graalvmbot commented Jun 23, 2025

This PR updates several aspects of the loop explosion performed during partial evaluation.

  • The array data structures for initial and created nodes of loop scopes are now reused among multiple loop scopes if possible.
  • The graph now caches the value of the TrackNodeInsertion option to avoid map lookups when registering a node.
  • ProxyPlaceholders now cache the hash code of their initial and current values. This speeds up hash code creation and comparisons of LoopExplosionStates.
  • ProxyPlaceholders now cache their node orderIds inside loop scopes. This speeds up the creation of new proxy placeholders for every loop iterations.

@oracle-contributor-agreement oracle-contributor-agreement bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Jun 23, 2025
@graalvmbot graalvmbot force-pushed the fhuemer/GR-66216/loop-explosion branch 2 times, most recently from 935e0b2 to 471fb68 Compare June 26, 2025 14:13
@graalvmbot graalvmbot changed the title [GR-66216] Improve loop explosion performance during partial evaluation [GR-66216][GR-66435] Improve loop explosion performance during partial evaluation Jul 1, 2025
…uring partial evaluation.

Added a cached value for track node insertion in graphs.
Added a cache for the values of proxy placeholders to speed up hash computations and comparisons.
Added a cache for the node orderIds of proxy placeholders to allow for easier proxy-placeholder creation during loop explosion.
@graalvmbot graalvmbot changed the title [GR-66216][GR-66435] Improve loop explosion performance during partial evaluation [GR-66216] [GR-66435] Improve loop explosion performance during partial evaluation Jul 1, 2025
@graalvmbot graalvmbot force-pushed the fhuemer/GR-66216/loop-explosion branch from 471fb68 to 7f1e61b Compare July 1, 2025 12:52
@graalvmbot graalvmbot merged commit 8251c3d into master Jul 2, 2025
13 checks passed
@graalvmbot graalvmbot deleted the fhuemer/GR-66216/loop-explosion branch July 2, 2025 15:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
OCA Verified All contributors have signed the Oracle Contributor Agreement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants