Skip to content
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

Move the kernel isolate from the VM proper to the standalone embedder #33433

Open
rmacnak-google opened this issue Jun 12, 2018 · 2 comments
Open
Assignees
Labels
area-vm Use area-vm for VM related issues, including code coverage, FFI, and the AOT and JIT backends.

Comments

@rmacnak-google
Copy link
Contributor

The kernel service is not a VM feature:

  • It does not allow transparent use of the old loading APIs that take source instead of kernel
  • It is only available in the standalone embedder

It should not be polluting the embedding api (dart_api.h).

@rmacnak-google rmacnak-google added the area-vm Use area-vm for VM related issues, including code coverage, FFI, and the AOT and JIT backends. label Jun 12, 2018
@a-siva
Copy link
Contributor

a-siva commented Nov 19, 2018

@liamappelbe do you want to take a stab at this?

@liamappelbe liamappelbe self-assigned this Nov 19, 2018
dart-bot pushed a commit that referenced this issue Nov 26, 2018
This is the first step in moving the kernel isolate out
of the VM and into the standalone embedder.

Bug: #33433
Change-Id: Ie8d9ac1c27efe2661f0441b75275119966d197af
Reviewed-on: https://dart-review.googlesource.com/c/84829
Commit-Queue: Liam Appelbe <liama@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
dart-bot pushed a commit that referenced this issue Dec 18, 2018
This reverts commit 9906819.

Reason for revert: Follow up CLs are more complicated than I thought, so I don't want to leave it in an inconsistent state.

Original change's description:
> Remove kernel isolate API from the public dart_api.h
> 
> This is the first step in moving the kernel isolate out
> of the VM and into the standalone embedder.
> 
> Bug: #33433
> Change-Id: Ie8d9ac1c27efe2661f0441b75275119966d197af
> Reviewed-on: https://dart-review.googlesource.com/c/84829
> Commit-Queue: Liam Appelbe <liama@google.com>
> Reviewed-by: Ryan Macnak <rmacnak@google.com>

TBR=rmacnak@google.com,liama@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: #33433
Change-Id: Iaf753c210e918df167364b50ee823b2557896628
Reviewed-on: https://dart-review.googlesource.com/c/87623
Reviewed-by: Liam Appelbe <liama@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Liam Appelbe <liama@google.com>
dart-bot pushed a commit that referenced this issue Dec 19, 2018
This reverts commit 9906819.

Reason for revert: Follow up CLs are more complicated than I thought, so I don't want to leave it in an inconsistent state.

Original change's description:
> Remove kernel isolate API from the public dart_api.h
> 
> This is the first step in moving the kernel isolate out
> of the VM and into the standalone embedder.
> 
> Bug: #33433
> Change-Id: Ie8d9ac1c27efe2661f0441b75275119966d197af
> Reviewed-on: https://dart-review.googlesource.com/c/84829
> Commit-Queue: Liam Appelbe <liama@google.com>
> Reviewed-by: Ryan Macnak <rmacnak@google.com>

TBR=rmacnak@google.com,liama@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: #33433
Change-Id: Iaf753c210e918df167364b50ee823b2557896628
Reviewed-on: https://dart-review.googlesource.com/c/87623
Reviewed-by: Liam Appelbe <liama@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Liam Appelbe <liama@google.com>
@mdempsky
Copy link
Contributor

It looks like the vmservice relies on KernelIsolate for implementing _compileExpression, reloadSources, and _reloadSources. How should these be handled if the kernel service is moved out of the VM? Do those features need to continue working, or can the VM service simply require that clients need to supply kernel files instead of Dart source?

There are also some other hooks into the kernel service (e.g., when runtime/vm/dart.cc is starting up or tearing down the VM, runtime/vm/isolate.cc tweaks the KernelIsolate's Heap parameters, and a couple unit tests rely on being able to compile Dart expressions to kernel format), but they look manageable.

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, FFI, and the AOT and JIT backends.
Projects
None yet
Development

No branches or pull requests

4 participants