dart-sdk/tools
Vyacheslav Egorov 2a2781edff [vm] Add vm:align-loops pragma
This pragma forces compiler to align loop headers within the
function by architecture specific boundary: 32 bytes on X64
and ARM64 (with the exception of Apple Silicon, which explicitly
discourages aligning branch targets in the optimization manual).

Current implementation is rather naive and does not do any
attempt to decide whether aligning is actually profitable
based on loop body itself.

I have found this pragma to be helpful both to stabilize
benchmark results and achieve better performance
for tight loops on Intel hardware.

Issue https://github.com/dart-lang/sdk/issues/55522

TEST=vm/dart/align_loops_test

Cq-Include-Trybots: luci.dart.try:vm-aot-linux-product-x64-try,vm-aot-linux-debug-x64c-try,vm-aot-linux-debug-x64-try,vm-aot-linux-release-arm64-try,vm-aot-linux-release-simarm_x64-try,vm-aot-linux-release-x64-try,vm-aot-mac-product-arm64-try,vm-aot-mac-release-arm64-try,vm-aot-mac-release-x64-try,vm-aot-obfuscate-linux-release-x64-try,vm-aot-optimization-level-linux-release-x64-try,vm-aot-win-release-x64-try,vm-aot-win-debug-arm64-try,vm-aot-win-debug-x64-try,vm-aot-win-debug-x64c-try,vm-aot-win-product-x64-try,vm-aot-win-release-arm64-try,vm-aot-linux-debug-simarm_x64-try,vm-aot-linux-debug-simriscv64-try,vm-aot-dwarf-linux-product-x64-try,vm-aot-android-release-arm64c-try,vm-aot-android-release-arm_x64-try
Change-Id: Ic22fb90d85e7fdebeeaa3908a43328c59436ab58
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/364121
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Slava Egorov <vegorov@google.com>
2024-04-24 08:52:18 +00:00
..
bots Introduce analysis_server_plugin package; replacement for server_plugin 2024-04-19 01:38:29 +00:00
buildtools
dart2js
dom Fix broken links in dart:html package. 2024-04-18 18:10:45 +00:00
fuchsia
linux_dist_support Remove additional --no-goma options since it's the new default. 2024-03-25 10:35:49 +00:00
package_deps Move the mock package support to analyzer_utilities 2024-04-01 17:04:06 +00:00
patches Update scripts with new location of Dart SDK checkout in Flutter engine 2024-04-09 14:45:10 +00:00
sdks Update checked in SDK to 3.2.4. 2024-01-09 10:42:53 +00:00
spec_parser Update augmented extensionDeclaration, following PR 3701 2024-04-11 14:21:28 +00:00
test_generators
testing [dart2wasm] Make tools/test.py -n dart2wasm-linux-jsshell ... work 2023-11-27 15:51:55 +00:00
verify_docs Mark deprecated Hints with Warning aliases as deprecated 2023-04-13 20:07:36 +00:00
.gitignore
3xhead_flutter_hooks.sh Update scripts with new location of Dart SDK checkout in Flutter engine 2024-04-09 14:45:10 +00:00
addlatexhash.dart
analysis_options.yaml
bisect.dart [tool] Bisection tool 2023-07-13 13:22:26 +00:00
build.py Reland "[infra] RBE all the things." 2024-04-12 22:06:32 +00:00
copy_dart.py
copy_tree.py Use an escape sequence for space characters in depfiles generated by the copy_tree script 2024-03-14 15:45:55 +00:00
create_pkg_manifest.py
diff_results.dart
download_chromium_sysroot.sh
experimental_features.yaml Bump version to 3.5. 2024-03-28 00:08:58 +00:00
FAKE_COMMITS
find_builders.dart Revert "[tool] tools/find_builders.dart cbuild opt in" 2024-03-27 13:01:49 +00:00
find_depot_tools.py
gen_fuchsia_test_manifest.py
generate_buildfiles.py
generate_experimental_flags.dart Reland "Bump version to 3.3." 2023-10-06 19:00:58 +00:00
generate_idefiles.py [build] Update Windows SDK to 10.0.22621.0. 2024-02-08 16:06:50 +00:00
generate_package_config.dart Add sample directories to the package config. 2023-11-02 21:00:41 +00:00
generate_package_config.py
generate_sdk_version_file.py
generate_shim_headers.py add tools for generating shim headers 2023-04-19 01:37:48 +00:00
get_dot_git_folder.py
git_cl_try.sh
gn.py Reland "[infra] RBE all the things." 2024-04-12 22:06:32 +00:00
gn_helpers.py
line_doc_comments.dart
list_dart_files.py
list_dart_files_as_depfile.py
make_version.py [build] Omit SDK and Git hashes on RBE. 2023-12-20 12:23:56 +00:00
manage_deps.dart
minidump.py
opt_out_files.dart
OWNERS [wasm] Update owners 2024-03-26 10:01:22 +00:00
OWNERS_ANALYZER update analyzer owners 2023-08-09 22:44:26 +00:00
OWNERS_BUILD
OWNERS_CFE
OWNERS_DEVTOOLS Update OWNERS_DEVTOOLS to include all members of the DevTools team 2023-08-22 14:35:00 +00:00
OWNERS_ECOSYSTEM
OWNERS_ENG
OWNERS_FOUNDATION
OWNERS_GOOGLE3
OWNERS_INFRA
OWNERS_LANGUAGE Use OWNERS files to restrict editing of tests/language to language team. 2023-11-16 18:18:00 +00:00
OWNERS_PRODUCT
OWNERS_PUB
OWNERS_VM
OWNERS_WASM [wasm] Update owners 2024-03-26 10:01:22 +00:00
OWNERS_WEB
presubmit.sh
publish_pkg.py
rev_sdk_deps.dart [tools/deps] Adjust commit messages to link to correct repositories 2024-01-09 01:29:48 +00:00
run_offsets_extractor.dart [vm] Add vm:align-loops pragma 2024-04-24 08:52:18 +00:00
run_with_coredumps_enabled.py
set_ia32_sysroot.sh
set_x64_sysroot.sh
spec_parse.py
task_kill.py [infra] Kill stale dartaotruntime processes on bots 2024-04-10 15:09:03 +00:00
test.dart
test.py
utils.py [python3.12] Fix syntax warnings in utils.py scripts 2024-01-12 16:38:51 +00:00
validate_test_matrix.dart
VERSION Bump version to 3.5. 2024-03-28 00:08:58 +00:00
write_dartdoc_options_file.py [dartdoc] Add header and footer options to dartdoc options 2024-02-29 12:49:50 +00:00
write_revision_file.py [build] Omit SDK and Git hashes on RBE. 2023-12-20 12:23:56 +00:00
write_version_file.py [build] Omit SDK and Git hashes on RBE. 2023-12-20 12:23:56 +00:00
yaml2json.dart