mirror of
https://github.com/dart-lang/sdk
synced 2024-09-06 00:59:09 +00:00
![]() Add an additional base argument to Assembler::AddScaled so it now computes: dest <- base + (index << scale) + offset If base is kNoRegister (or ZR when available), then it emits instructions optimized for computing: dest <- (index << scale) + offset (i.e., its previous implementation) Add AddScaled to AssemblerBase to ensure the same interface across all architectures. Rework the backend of CalculateElementAddress to use AddScaled appropriately, which unifies it across architectures. TEST=ci (refactoring) Cq-Include-Trybots: luci.dart.try:vm-aot-linux-debug-simarm_x64-try,vm-aot-linux-debug-simriscv64-try,vm-aot-linux-debug-x64-try,vm-aot-linux-debug-x64c-try,vm-linux-debug-ia32-try,vm-linux-debug-x64-try,vm-linux-debug-x64c-try,vm-linux-debug-simriscv64-try,vm-mac-debug-arm64-try,vm-aot-mac-release-arm64-try Change-Id: I33c8f99604b68360f10b79050bd66ceb9d65ac9b Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/370504 Commit-Queue: Tess Strickland <sstrickl@google.com> Reviewed-by: Alexander Markov <alexmarkov@google.com> |
||
---|---|---|
.. | ||
bin | ||
docs | ||
include | ||
lib | ||
observatory | ||
platform | ||
tests | ||
tools | ||
vm | ||
.clang-tidy | ||
.gitignore | ||
BUILD.gn | ||
codereview.settings | ||
configs.gni | ||
CPPLINT.cfg | ||
OWNERS | ||
PRESUBMIT.py | ||
runtime_args.gni | ||
vm-jit.shard.cml | ||
vm.shard.cml |