未验证 提交 e32e3903 编写于 作者: R Ryan Macnak 提交者: GitHub

Roll Dart to a5c11d7d0329432ca37e35bb249b20f60aa0aa31. (#5269)

Update engine for removal of Dart_ReadKernelBinary and refactored build targets.
上级 db34bb68
......@@ -31,7 +31,7 @@ vars = {
# Dart is: https://github.com/dart-lang/sdk/blob/master/DEPS.
# You can use //tools/dart/create_updated_flutter_deps.py to produce
# updated revision list of existing dependencies.
'dart_revision': '46ab040e589adc5200370dec7952ce5150850822',
'dart_revision': 'a5c11d7d0329432ca37e35bb249b20f60aa0aa31',
'dart_args_tag': '1.4.1',
'dart_async_tag': '2.0.6',
......@@ -126,7 +126,7 @@ deps = {
Var('fuchsia_git') + '/garnet' + '@' + 'b7492b5f34e32248b164eb48ae8e67995aebda67',
'src/topaz':
Var('fuchsia_git') + '/topaz' + '@' + 'e331f910c1003d154a4de6e1b5356f8d785fd6ec',
Var('fuchsia_git') + '/topaz' + '@' + '5fa651cf9cc5f338379e34964ff5dd70052f6237',
'src/third_party/benchmark':
Var('fuchsia_git') + '/third_party/benchmark' + '@' + '296537bc48d380adf21567c5d736ab79f5363d22',
......
......@@ -70,7 +70,6 @@ template("flutter_content_handler") {
deps = [
"//third_party/dart/runtime/bin:libdart_builtin",
"//third_party/dart/runtime/platform:libdart_platform",
"//garnet/public/lib/app/cpp",
"//garnet/public/lib/fonts/fidl",
"//garnet/public/lib/fsl",
......@@ -108,10 +107,16 @@ template("flutter_content_handler") {
flutter_content_handler("aot") {
output_name = "flutter_aot_runner"
extra_deps = [ "//third_party/dart/runtime:libdart_precompiled_runtime" ]
extra_deps = [
"//third_party/dart/runtime:libdart_precompiled_runtime",
"//third_party/dart/runtime/platform:libdart_platform_precompiled_runtime",
]
}
flutter_content_handler("jit") {
output_name = "flutter_jit_runner"
extra_deps = [ "//third_party/dart/runtime:libdart_jit" ]
extra_deps = [
"//third_party/dart/runtime:libdart_jit",
"//third_party/dart/runtime/platform:libdart_platform_jit",
]
}
......@@ -541,10 +541,10 @@ Dart_Isolate DartIsolate::DartCreateAndStartServiceIsolate(
// thread.
service_isolate->ResetWeakPtrFactory();
const bool isolate_snapshot_is_dart_2 =
Dart_IsDart2Snapshot(vm->GetIsolateSnapshot()->GetData()->GetSnapshotPointer());
const bool isolate_snapshot_is_dart_2 = Dart_IsDart2Snapshot(
vm->GetIsolateSnapshot()->GetData()->GetSnapshotPointer());
const bool is_preview_dart2 =
vm->GetPlatformKernel() != nullptr || isolate_snapshot_is_dart_2;
(vm->GetPlatformKernel().GetSize() > 0) || isolate_snapshot_is_dart_2;
const bool running_from_sources =
!DartVM::IsRunningPrecompiledCode() && !is_preview_dart2;
......@@ -648,14 +648,16 @@ DartIsolate::CreateDartVMAndEmbedderObjectPair(
// Create the Dart VM isolate and give it the embedder object as the baton.
Dart_Isolate isolate =
vm->GetPlatformKernel() != nullptr
? Dart_CreateIsolateFromKernel(advisory_script_uri, //
advisory_script_entrypoint, //
vm->GetPlatformKernel(), //
flags, //
embedder_isolate.get(), //
error //
)
(vm->GetPlatformKernel().GetSize() > 0)
? Dart_CreateIsolateFromKernel(
advisory_script_uri, //
advisory_script_entrypoint, //
vm->GetPlatformKernel().GetMapping(), //
vm->GetPlatformKernel().GetSize(), //
flags, //
embedder_isolate.get(), //
error //
)
: Dart_CreateIsolate(advisory_script_uri, //
advisory_script_entrypoint, //
embedder_isolate->GetIsolateSnapshot()
......
......@@ -278,18 +278,6 @@ DartVM::DartVM(const Settings& settings,
FXL_DCHECK(isolate_snapshot_ && isolate_snapshot_->IsValid())
<< "Isolate snapshot must be valid.";
if (platform_kernel_mapping_->GetSize() > 0) {
// The platform kernel mapping lifetime is managed by this instance of the
// DartVM and hence will exceed that of the PlatformKernel. So provide an
// empty release callback.
Dart_ReleaseBufferCallback empty = [](auto arg) {};
platform_kernel_ = reinterpret_cast<PlatformKernel*>(Dart_ReadKernelBinary(
platform_kernel_mapping_->GetMapping(), // buffer
platform_kernel_mapping_->GetSize(), // buffer size
empty // buffer deleter
));
}
{
TRACE_EVENT0("flutter", "dart::bin::BootstrapDartIo");
dart::bin::BootstrapDartIo();
......@@ -340,11 +328,11 @@ DartVM::DartVM(const Settings& settings,
Dart_IsDart2Snapshot(isolate_snapshot_->GetData()->GetSnapshotPointer());
const bool is_preview_dart2 =
platform_kernel_ != nullptr || isolate_snapshot_is_dart_2;
(platform_kernel_mapping_->GetSize() > 0) || isolate_snapshot_is_dart_2;
FXL_DLOG(INFO) << "Dart 2 " << (is_preview_dart2 ? "is" : "is NOT")
<< " enabled. Platform kernel: "
<< static_cast<bool>(platform_kernel_)
<< static_cast<bool>(platform_kernel_mapping_->GetSize() > 0)
<< " Isolate Snapshot is Dart 2: "
<< isolate_snapshot_is_dart_2;
......@@ -453,8 +441,8 @@ const Settings& DartVM::GetSettings() const {
return settings_;
}
DartVM::PlatformKernel* DartVM::GetPlatformKernel() const {
return platform_kernel_;
const fml::Mapping& DartVM::GetPlatformKernel() const {
return *platform_kernel_mapping_.get();
}
const DartSnapshot& DartVM::GetVMSnapshot() const {
......
......@@ -25,8 +25,6 @@ namespace blink {
class DartVM : public fxl::RefCountedThreadSafe<DartVM> {
public:
class PlatformKernel;
static fxl::RefPtr<DartVM> ForProcess(Settings settings);
static fxl::RefPtr<DartVM> ForProcess(
......@@ -40,7 +38,7 @@ class DartVM : public fxl::RefCountedThreadSafe<DartVM> {
const Settings& GetSettings() const;
PlatformKernel* GetPlatformKernel() const;
const fml::Mapping& GetPlatformKernel() const;
const DartSnapshot& GetVMSnapshot() const;
......@@ -55,7 +53,6 @@ class DartVM : public fxl::RefCountedThreadSafe<DartVM> {
const fxl::RefPtr<DartSnapshot> vm_snapshot_;
const fxl::RefPtr<DartSnapshot> isolate_snapshot_;
std::unique_ptr<fml::Mapping> platform_kernel_mapping_;
PlatformKernel* platform_kernel_ = nullptr;
ServiceProtocol service_protocol_;
fxl::WeakPtrFactory<DartVM> weak_factory_;
......
......@@ -15,7 +15,7 @@ TEST(DartVM, SimpleInitialization) {
ASSERT_TRUE(vm);
ASSERT_EQ(vm, DartVM::ForProcess(settings));
ASSERT_FALSE(DartVM::IsRunningPrecompiledCode());
ASSERT_EQ(vm->GetPlatformKernel(), nullptr);
ASSERT_EQ(vm->GetPlatformKernel().GetSize(), 0u);
}
} // namespace blink
......@@ -103,7 +103,6 @@ source_set("common") {
"$flutter_root/third_party/txt",
"//garnet/public/lib/fxl",
"//third_party/dart/runtime:dart_api",
"//third_party/dart/runtime/platform:libdart_platform",
"//third_party/rapidjson",
"//third_party/skia",
"//third_party/skia:gpu",
......
......@@ -21,8 +21,6 @@ executable("testing") {
"//garnet/public/lib/fxl",
"//third_party/dart/runtime:libdart_jit",
"//third_party/dart/runtime/bin:embedded_dart_io",
"//third_party/dart/runtime/bin:libdart_builtin",
"//third_party/dart/runtime/platform:libdart_platform",
"//third_party/skia",
"//topaz/lib/tonic",
]
......
Signature: 8ddb0126ef903204d99d1ccfd231a1e0
Signature: 1b192480901ca7233d44dac3da78293c
UNUSED LICENSES:
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册