Files
sdk/runtime/vm
Tess Strickland 324ba0c11f [vm/compiler] Extend Assembler::AddScaled to take a base register.
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>
2024-06-11 08:33:29 +00:00
..
2024-04-17 19:14:41 +00:00
2023-03-06 22:06:59 +00:00
2024-04-24 08:52:18 +00:00
2024-04-24 08:52:18 +00:00
2023-06-23 20:35:00 +00:00
2023-09-12 16:22:19 +00:00
2023-06-23 20:35:00 +00:00
2023-06-23 20:35:00 +00:00
2023-06-23 20:35:00 +00:00
2024-04-15 22:01:43 +00:00
2022-09-12 12:33:57 +00:00
2022-09-12 12:33:57 +00:00
2023-08-17 17:38:48 +00:00
2024-04-18 16:35:58 +00:00
2023-10-20 19:45:49 +00:00
2023-06-23 20:35:00 +00:00
2024-04-17 19:14:41 +00:00
2024-03-20 20:08:13 +00:00
2024-04-17 19:14:41 +00:00
2024-04-17 19:14:41 +00:00
2024-03-20 20:08:13 +00:00
2024-03-20 20:08:13 +00:00
2023-12-18 21:39:09 +00:00
2024-04-17 19:14:41 +00:00
2024-03-20 20:08:13 +00:00
2024-04-17 19:14:41 +00:00
2024-04-17 19:14:41 +00:00
2022-12-29 10:18:02 +00:00
2024-04-17 19:14:41 +00:00
2023-08-21 16:46:46 +00:00
2023-01-06 07:48:22 +00:00
2024-05-22 18:06:01 +00:00
2024-05-22 18:06:01 +00:00
2022-07-29 18:11:01 +00:00
2024-04-17 19:14:41 +00:00
2023-04-12 22:18:54 +00:00
2023-03-06 22:06:59 +00:00
2023-01-09 15:48:57 +00:00
2024-04-17 19:14:41 +00:00
2024-03-20 20:08:13 +00:00
2022-09-10 15:12:35 +00:00
2024-04-17 19:14:41 +00:00