Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
sxychenjing
engine
提交
0fd9b168
E
engine
项目概览
sxychenjing
/
engine
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
E
engine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
0fd9b168
编写于
10月 10, 2019
作者:
K
Kaushik Iska
提交者:
GitHub
10月 10, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Reland dart_aot_runner shims
This reverts commit
f20c773c
.
上级
f20c773c
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
92 addition
and
27 deletion
+92
-27
shell/platform/fuchsia/BUILD.gn
shell/platform/fuchsia/BUILD.gn
+1
-0
shell/platform/fuchsia/dart_runner/embedder/BUILD.gn
shell/platform/fuchsia/dart_runner/embedder/BUILD.gn
+91
-27
未找到文件。
shell/platform/fuchsia/BUILD.gn
浏览文件 @
0fd9b168
...
...
@@ -20,6 +20,7 @@ if (using_fuchsia_sdk) {
deps = [
"dart:kernel_compiler",
"dart_runner:$dart_runner_target",
"dart_runner/embedder:dart_aot_product_snapshot_cc",
"flutter:flutter_aot_${product_suffix}runner",
"flutter:flutter_jit_${product_suffix}runner",
"flutter:flutter_runner_tests",
...
...
shell/platform/fuchsia/dart_runner/embedder/BUILD.gn
浏览文件 @
0fd9b168
...
...
@@ -2,38 +2,100 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/dart/toolchain.gni")
import("//topaz/runtime/dart/dart_component.gni")
import("//topaz/runtime/dart/dart_kernel.gni")
import("//build/compiled_action.gni")
import("//third_party/dart/build/dart/dart_action.gni")
import("$flutter_root/common/fuchsia_config.gni")
import("$flutter_root/tools/fuchsia/dart.gni")
dart_kernel("shim") {
platform_name = "dart_runner"
platform_deps = [ "//topaz/runtime/dart_runner/kernel:kernel_platform_files" ]
platform_path = "$root_out_dir/dart_runner_patched_sdk"
template("dart_shim_kernel") {
prebuilt_dart_action(target_name) {
assert(defined(invoker.main_dart), "main_dart is a required parameter.")
disable_analysis = true
main_dart = rebase_path(invoker.main_dart)
main_dart = "shim.dart"
deps = [
"../kernel:kernel_platform_files($host_toolchain)",
]
aot = true
product = false
gen_kernel_script = "//third_party/dart/pkg/vm/bin/gen_kernel.dart"
platform_dill = "$root_out_dir/dart_runner_patched_sdk/platform_strong.dill"
visibility = [ ":*" ]
}
dot_packages = rebase_path("//third_party/dart/.packages")
dart_kernel("shim_product") {
platform_name = "dart_runner"
platform_deps = [ "//topaz/runtime/dart_runner/kernel:kernel_platform_files" ]
platform_path = "$root_out_dir/dart_runner_patched_sdk"
inputs = [
gen_kernel_script,
main_dart,
dot_packages,
]
disable_analysis = true
output = "$target_gen_dir/$target_name.dill"
outputs = [
output,
]
main_dart = "shim.dart"
depfile = "$output.d"
abs_depfile = rebase_path(depfile)
rebased_output = rebase_path(output, root_build_dir)
vm_args = [
"--depfile=$abs_depfile",
"--depfile_output_filename=$rebased_output",
]
script = gen_kernel_script
args = [
"--packages=" + rebase_path(dot_packages),
"--target=dart_runner",
"--platform=" + rebase_path(platform_dill),
"--no-link-platform",
"--output=" + rebase_path(output),
]
if (is_debug) {
args += [ "--embed-sources" ]
} else {
args += [ "--no-embed-sources" ]
}
if (defined(invoker.aot) && invoker.aot) {
args += [
"--aot",
"--tfa",
]
}
if (defined(invoker.product) && invoker.product) {
# Setting this flag in a non-product release build for AOT (a "profile"
# build) causes the vm service isolate code to be tree-shaken from an app.
# See the pragma on the entrypoint here:
#
# https://github.com/dart-lang/sdk/blob/master/runtime/bin/vmservice/vmservice_io.dart#L240
#
# Also, this define excludes debugging and profiling code from Flutter.
args += [ "-Ddart.vm.product=true" ]
} else {
if (!is_debug) {
# The following define excludes debugging code from Flutter.
args += [ "-Ddart.vm.profile=true" ]
}
}
visibility = [ ":*" ]
args += [ rebase_path(main_dart) ]
}
}
dart_shim_kernel("shim_kernel") {
main_dart = "shim.dart"
product = false
aot = true
product = true
}
visibility = [ ":*" ]
dart_shim_kernel("shim_product_kernel") {
main_dart = "shim.dart"
product = true
aot = true
}
template("create_aot_snapshot") {
...
...
@@ -42,13 +104,13 @@ template("create_aot_snapshot") {
if (invoker.product) {
product_suffix = "_product"
}
action("${target_name}_assembly") {
compiled_
action("${target_name}_assembly") {
snapshot_assembly = "$target_gen_dir/aot${product_suffix}_vm_snapshot.S"
# gen_snapshot only needs this to go through the motions of setting up an isolate.
shim_target = ":shim${product_suffix}_kernel"
shim_kernel = get_label_info(shim_target, "target_gen_dir") +
"/shim${product_suffix}_kernel.dil"
"/shim${product_suffix}_kernel.dil
l
"
inputs = [
shim_kernel,
...
...
@@ -57,11 +119,13 @@ template("create_aot_snapshot") {
snapshot_assembly,
]
deps = gen_snapshot_deps + [ shim_target ]
deps = [
shim_target,
]
if (invoker.product) {
script
= gen_snapshot_product
tool
= gen_snapshot_product
} else {
script
= gen_snapshot
tool
= gen_snapshot
}
args = [
...
...
@@ -74,7 +138,7 @@ template("create_aot_snapshot") {
# No asserts in debug or release product.
# No asserts in release with flutter_profile=true (non-product)
# Yes asserts in non-product debug.
if (!invoker.product && (!
flutter_profile
|| is_debug)) {
if (!invoker.product && (!
(flutter_runtime_mode == "profile")
|| is_debug)) {
args += [ "--enable_asserts" ]
}
args += [ rebase_path(shim_kernel) ]
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录