f7a049dfb4
This change includes an initial implementation of the new VM service
implementation based on `package:dart_runtime_service`, along with the
necessary plumbing to start it in place of the legacy VM service
implementation.
The entrypoint for the new VM service implementation is located in
dart_runtime_service_vm/bin/vm_service_entrypoint.dart, which is
compiled into AppJIT and AOT snapshots when the
`--include-experimental-vm-service` flag is provided to `build.py`. To run
the VM with the new VM service implementation, the
`--experimental-vm-service` flag must be provided.
Currently, the experimental VM service implementation supports:
- User specified ports
- Authentication code flags
- Enabling the HTTP server via SIGQUIT
- Some service protocol RPCs that don't require an isolate ID (e.g.,
`getVM`)
See go/dart-runtime-services-unification for more details.
TEST=Manual
CoreLibraryReviewExempt: dart:_vmservice is private
Change-Id: I4a58cd1fa0a386313baa3d5c5345720231279123
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/484820
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
34 lines
1.3 KiB
Plaintext
34 lines
1.3 KiB
Plaintext
# Copyright (c) 2026, the Dart project authors. Please see the AUTHORS file
|
|
# for details. All rights reserved. Use of this source code is governed by a
|
|
# BSD-style license that can be found in the LICENSE file.
|
|
|
|
import("../../runtime/runtime_args.gni")
|
|
import("../aot_snapshot.gni")
|
|
import("../application_snapshot.gni")
|
|
|
|
group("dart_runtime_service_vm_aot") {
|
|
public_deps = [ ":dart_runtime_service_vm_aot_snapshot" ]
|
|
}
|
|
|
|
aot_snapshot("dart_runtime_service_vm_aot_snapshot") {
|
|
main_dart = "../../pkg/dart_runtime_service_vm/bin/vm_service_entrypoint.dart"
|
|
output = "$root_out_dir/dart_runtime_service_vm_aot.dart.snapshot"
|
|
}
|
|
|
|
group("dart_runtime_service_vm") {
|
|
public_deps = [ ":copy_dart_runtime_service_vm_snapshot" ]
|
|
}
|
|
|
|
copy("copy_dart_runtime_service_vm_snapshot") {
|
|
visibility = [ ":dart_runtime_service_vm" ]
|
|
public_deps = [ ":generate_dart_runtime_service_vm_snapshot" ]
|
|
sources = [ "$root_gen_dir/dart_runtime_service_vm.dart.snapshot" ]
|
|
outputs = [ "$root_out_dir/dart_runtime_service_vm.dart.snapshot" ]
|
|
}
|
|
|
|
application_snapshot("generate_dart_runtime_service_vm_snapshot") {
|
|
main_dart = "../../pkg/dart_runtime_service_vm/bin/vm_service_entrypoint.dart"
|
|
training_args = [ "--help" ]
|
|
output = "$root_gen_dir/dart_runtime_service_vm.dart.snapshot"
|
|
}
|