Commit Graph

2 Commits

Author SHA1 Message Date
Alexander Markov 2929b71aa2 [kernel/vm] Address follow-up review comments for bytecode generation
Change-Id: Ifa9dd128ef7179ec521c893ac567b0f81ba5e306
Reviewed-on: https://dart-review.googlesource.com/53120
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-05-03 16:45:03 +00:00
Vyacheslav Egorov 0b83be906c [vm/compiler/aot] Introduce ways to dump instruction size statistics.
We add two things:

* --print_instruction_stats makes compiler dump per IL instruction size
breakdown (how many bytes of code were produced from specific instruction
kinds). This was largely implemented by kustermann@ in
https://codereview.chromium.org/2584613002/ and this CL does only few changes
to the original implementation, namely more uniform handling of slow-path code
and puts statistics object into RawInstructions (which has free space due to
alignment) instead of RawCode.

* --print_instructions_sizes_to=symbols.json makes compiler dump per Instruction
object size breakdown into a JSON file. This JSON file can later be processed
with pkg/vm/tool/run_binary_size_analysis.dart script to produce interactive
binary size diagram similar to runtime/third_party/binary_size tool.

Change-Id: Ied4965b9a0a91b3025eefbe981ecd47cdcf782d6
Reviewed-on: https://dart-review.googlesource.com/50501
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2018-04-11 13:03:16 +00:00