Ryan Macnak
de2abc6091
[vm] Update NULL to nullptr in runtime/vm/compiler.
...
TEST=build
Change-Id: I54cd75bbc942e11c4d719edcc64640da67077634
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/291965
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2023-03-30 18:23:53 +00:00
Alexander Aprelev
730156116f
[vm] Cleanup unused variables in anticipation of switching to new clang.
...
Extracted from https://dart-review.googlesource.com/c/sdk/+/201862 that switches clang to Fuchsia toolchain.
TEST=ci
Change-Id: Icd4e985a433f81862e681332dfcf905b8ec7ba4c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/204060
Reviewed-by: Martin Kustermann <kustermann@google.com >
Commit-Queue: Alexander Aprelev <aam@google.com >
2021-06-18 17:45:04 +00:00
Ryan Macnak
8e7ffafbaf
Reland "[vm, compiler] Reduce alignment of Instructions and remove some debugging trap instructions."
...
Further adjustments for simarm_x64.
Flutter Gallery:
ARM32
Instructions(CodeSize): 6979424 -> 6771856 (-2.97%)
Total(CodeSize): 10855163 -> 10363319 (-4.53%)
ARM64
Instructions(CodeSize): 7334368 -> 6817312 (-7.05%)
Total(CodeSize): 11505069 -> 10771431 (-6.37%)
Bug: https://github.com/dart-lang/sdk/issues/37103
Bug: https://github.com/dart-lang/sdk/issues/38452
Change-Id: I2bb44e7b2c002d53830b66cf4aedc4455c815326
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119440
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-10-17 21:45:38 +00:00
Samir Jindel
132bee48d0
Revert "Reland "[vm, compiler] Reduce alignment of Instructions and remove some debugging trap instructions.""
...
This reverts commit 44da8af04f .
Reason for revert: SIMARM_X64 assembly generation is still broken.
You can see the new bot "vm-kernel-precomp-linux-debug-simarm_x64" for failing tests. Also https://github.com/dart-lang/sdk/issues/38617 and https://github.com/flutter/flutter/issues/41484 .
Original change's description:
> Reland "[vm, compiler] Reduce alignment of Instructions and remove some debugging trap instructions."
>
> Fix generating assembly from simarm_x64.
>
> Bug: https://github.com/dart-lang/sdk/issues/37103
> Bug: https://github.com/dart-lang/sdk/issues/38452
> Change-Id: Ic3402beb0278dc483ba82874cb573ce26b8669b2
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118702
> Commit-Queue: Ryan Macnak <rmacnak@google.com >
> Reviewed-by: Aart Bik <ajcbik@google.com >
> Reviewed-by: Liam Appelbe <liama@google.com >
TBR=aam@google.com ,rmacnak@google.com ,alexmarkov@google.com ,ajcbik@google.com ,liama@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: https://github.com/dart-lang/sdk/issues/37103 , https://github.com/dart-lang/sdk/issues/38452
Change-Id: If9fe95a04371d2960200ffc1f5e5c008298b9890
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119149
Reviewed-by: Samir Jindel <sjindel@google.com >
Commit-Queue: Samir Jindel <sjindel@google.com >
2019-09-27 18:01:00 +00:00
Ryan Macnak
44da8af04f
Reland "[vm, compiler] Reduce alignment of Instructions and remove some debugging trap instructions."
...
Fix generating assembly from simarm_x64.
Bug: https://github.com/dart-lang/sdk/issues/37103
Bug: https://github.com/dart-lang/sdk/issues/38452
Change-Id: Ic3402beb0278dc483ba82874cb573ce26b8669b2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118702
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Aart Bik <ajcbik@google.com >
Reviewed-by: Liam Appelbe <liama@google.com >
2019-09-26 16:40:18 +00:00
Alexander Aprelev
69b5681546
Revert "[vm, compiler] Reduce alignment of Instructions and remove some debugging trap instructions."
...
This reverts commit b26636925d as it introduces failure to run `flutter run --profile` on ios 32-bit devices.
Revert "[vm, compiler] Further reduce alignment of Instructions."
This reverts commit e2adba804b as collateral damage.
Bug: https://github.com/flutter/flutter/issues/41228
Change-Id: Ia831a23d1237ef7635e6e1fa5d8fbcbcb91b2a74
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118661
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Alexander Aprelev <aam@google.com >
2019-09-24 23:43:24 +00:00
Ryan Macnak
e2adba804b
[vm, compiler] Further reduce alignment of Instructions.
...
ARM64
Unaffected
ARM32
VMIsolate(CodeSize): 4731 -> 4730
Isolate(CodeSize): 2020887 -> 2020860
ReadOnlyData(CodeSize): 2161000 -> 2161000
Instructions(CodeSize): 6879032 -> 6811384 (-0.98%)
Total(CodeSize): 11065650 -> 10997974 (-0.61%)
Bug: https://github.com/dart-lang/sdk/issues/38452
Change-Id: Ic969a92814afd352767368e063e493099dd89377
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118181
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2019-09-20 22:29:18 +00:00
Liam Appelbe
d49bf6f25a
[vm] Remove misleading usings.
...
Patchset 1 contains just the usings I deleted (<100 lines). All the
other diffs in the rest of the CL are just fixing all the places that
were broken by this.
Bug: https://github.com/dart-lang/sdk/issues/36839
Change-Id: I3bb4fa62ab4363ded81fd7c2815b857f91886dd6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108502
Commit-Queue: Liam Appelbe <liama@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
2019-07-10 22:20:10 +00:00
Samir Jindel
c1df0d4c10
[vm] Very basic store barrier elimination.
...
If the left-hand side of the store is an allocation and no GC-triggering
instructions have been executed since, it is safe to elide the store barrier.
This gives a 1.4% code size reduction on Flutter Gallery ARM32.
Change-Id: Ib7227d3ef9d798d5e30f238f3f789f9a2e637d6a
Cq-Include-Trybots: luci.dart.try: vm-kernel-optcounter-threshold-linux-release-x64-try,vm-kernel-precomp-linux-debug-x64-try,vm-kernel-precomp-linux-release-simarm-try,vm-kernel-precomp-linux-release-simarm64-try,vm-kernel-precomp-linux-release-x64-try,vm-kernel-precomp-win-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/64687
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
2018-07-17 22:59:28 +00:00
Vyacheslav Egorov
f8f5365a94
[vm/compiler] Fix sorting of instructions stats.
...
If you are sorting array of T* with qsort
your comparator is getting T** values.
TBR=kustermann@google.com
Change-Id: I159b4ba5c7757c9f585de60165e0eb63576d873a
Reviewed-on: https://dart-review.googlesource.com/51260
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2018-04-15 12:54:25 +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