1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-01-09 15:48:16 -05:00
denoland-deno/build_extra/deno.gni
Ryan Dahl 6b6fac209c Optimize compile time by using asm.
Switches to using asm incbin to embed the V8 snapshot instead of
outputing C code and then compiling it.

Compile time for from_snapshot.o goes from 44s to 1s.
2018-08-01 12:14:10 -04:00

46 lines
1.4 KiB
Text

# Copyright 2018 the Deno authors. All rights reserved. MIT license.
import("//build/compiled_action.gni")
template("run_node") {
action(target_name) {
forward_variables_from(invoker, "*")
script = "//tools/run_node.py"
}
}
# Template to generate different V8 snapshots based on different runtime flags.
# Can be invoked with run_mksnapshot(<name>). The target will resolve to
# run_mksnapshot_<name>. If <name> is "default", no file suffixes will be used.
# Otherwise files are suffixed, e.g. embedded_<name>.cc and
# snapshot_blob_<name>.bin.
#
# The template exposes the variables:
# args: additional flags for mksnapshots
# embedded_suffix: a camel case suffix for method names in the embedded
# snapshot.
template("create_snapshot") {
name = target_name
compiled_action("create_snapshot_" + name) {
forward_variables_from(invoker,
[
"testonly",
"deps",
])
tool = ":snapshot_creator"
visibility = [ ":*" ] # Only targets in this file can depend on this.
snapshot_out_bin = "$target_gen_dir/snapshot_$name.bin"
inputs = [
invoker.js,
]
outputs = [
snapshot_out_bin,
]
args = [
rebase_path(snapshot_out_bin, root_build_dir),
rebase_path(invoker.js, root_build_dir),
]
# To debug snapshotting problems:
# args += ["--trace-serializer"]
}
}