dart-sdk/runtime
Vyacheslav Egorov 9fe6571a75 [vm/compiler] Let Parameter carry its location
Previously we would specify parameter offset and base register and
use SpecialParameter instruction to represent values passed in
registers.

This CL simplifies and merges these concepts: now every Parameter
instruction simply carries around its Location.

This CL also tweaks printing of stack slot locations so that they
are easier to read: `S+1` becomes `fp[1]` or `sp[1]` depending on the
base register, DS+1 becomes `dword fp[1]` / `dword sp[1]` and `QS+1`
expands to `qword fp[1]`/`qword sp[1]`.

Additionally we clean `BlockBuilder` API a bit - instead of
passing `with_frame` to `AddParameter` we make this the
property of the builder itself, set at construction time.

Issue https://github.com/dart-lang/sdk/issues/54955
Closes https://github.com/dart-lang/sdk/issues/31956

TEST=ci

Cq-Include-Trybots: luci.dart.try:vm-aot-linux-debug-simarm_x64-try,vm-aot-linux-release-arm64-try,vm-aot-linux-release-simarm_x64-try,vm-ffi-qemu-linux-release-arm-try,vm-aot-linux-debug-x64-try,vm-aot-linux-debug-x64c-try,vm-aot-linux-product-x64-try,vm-aot-mac-release-x64-try
Change-Id: Ie24dc6b6c47b3a45db722813218bc53c3a06c91d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/353081
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Commit-Queue: Slava Egorov <vegorov@google.com>
2024-02-20 23:54:08 +00:00
..
bin [VM/Service] Define vmservice entry points only under non product mode 2024-02-20 22:48:47 +00:00
docs [VM] Remove deprecated Dart_TimelineEvent embedder API 2024-02-20 18:18:30 +00:00
include [vm] Add some warnings to Dart_RecordTimelineEvent. 2024-02-20 20:18:09 +00:00
lib [vm] Remove dead copy_parent_code flag. 2024-02-15 23:02:45 +00:00
observatory [vm] Remove context allocations for tear-offs 2024-02-13 15:33:38 +00:00
platform [inspect] Update Inspect library usage 2024-02-12 18:18:01 +00:00
tests [vm/compiler] Let Parameter carry its location 2024-02-20 23:54:08 +00:00
tools [vm] Remove core-jit snapshots 2024-02-14 00:08:30 +00:00
vm [vm/compiler] Let Parameter carry its location 2024-02-20 23:54:08 +00:00
.clang-tidy
.gitignore
BUILD.gn [build] Omit SDK and Git hashes on RBE. 2023-12-20 12:23:56 +00:00
codereview.settings
configs.gni [Runtime] Add extra_product_deps and extra_nonproduct_deps params to "library_for_all_configs_with_compiler" template 2023-04-14 19:51:40 +00:00
CPPLINT.cfg [cpplint] Disable runtime/references lint 2023-01-23 18:21:48 +00:00
OWNERS
PRESUBMIT.py Reland "Reland "[VM] Begin supporting Perfetto file recorder"" 2023-04-18 19:39:05 +00:00
runtime_args.gni [vm] Remove core-jit snapshots 2024-02-14 00:08:30 +00:00
vm-jit.shard.cml [test] Cleanup building Fuchsia packages/components. 2023-10-31 17:11:51 +00:00
vm.shard.cml [inspect] Update Inspect library usage 2024-02-12 18:18:01 +00:00