Skip to content

(Set Literals) VM Support #35124

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

Closed
1 task
JekCharlsonYu opened this issue Nov 9, 2018 · 5 comments
Closed
1 task

(Set Literals) VM Support #35124

JekCharlsonYu opened this issue Nov 9, 2018 · 5 comments
Labels
area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends.
Milestone

Comments

@JekCharlsonYu
Copy link
Contributor

***** Request:
As per implementation Plan:

Task5 : Task2 (VM support)


Tracked in this Issue
Implementation Plan, see ETA in this issue too.
Full proposal

@JekCharlsonYu JekCharlsonYu added the area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. label Nov 9, 2018
@JekCharlsonYu JekCharlsonYu added this to the Dart2.2 milestone Nov 9, 2018
@askeksa-google
Copy link

The initial implementation of set literals will desugar them in the front end such that no changes are necessary in the VM. Thus VM support for set literals is postponed until such a time that we decide (for performance of other reasons) to change this implementation strategy to implement set literal support directly in the backends.

The VM code will contain some references to this issue in comments (added by https://dart-review.googlesource.com/c/sdk/+/85681), so those should be kept in sync if this issue is closed or re-purposed.

@a-siva
Copy link
Contributor

a-siva commented Dec 20, 2018

/cc @alexmarkov for comments on any work in the VM that needs to be done for adding intrinsics to improve performance.

@alexmarkov
Copy link
Contributor

In order to optimize set literals in VM, I think we should do the following:

  • Provide optimized implementation in core library for const and non-const set literals (like _ImmutableMap and Map._fromLiteral).
  • Support SetLiteral kernel AST nodes in VM-specific kernel transformations such as constant evaluation and TFA.
  • Support SetLiteral kernel AST nodes in VM - touch ScopeBuilder, StreamingFlowGraphBuilder, ConstantEvaluator, KernelReaderHelper::SkipExpression(), KernelFingerprintHelper::CalculateExpressionFingerprint().
  • Support SetLiteral kernel AST nodes in bytecode generator.

@mit-mit
Copy link
Member

mit-mit commented Feb 26, 2019

@a-siva @alexmarkov is this not done?

@a-siva
Copy link
Contributor

a-siva commented Mar 1, 2019

We think it is not necessary at this point to have special nodes to implement 'set literal' directly in the backend. I have created a new issue #36077 (enhancement) for optimized intrinsified implementation for set literal operations in core library.

Closing this as done.

@a-siva a-siva closed this as completed Mar 1, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends.
Projects
None yet
Development

No branches or pull requests

5 participants