dart-sdk/runtime
Alexander Markov 63e170a242 [vm/compiler] More consistent handling of inputs of IL instructions
This change removes duplicate management of inputs in variadic
IL instructions by introducing VariadicDefinition and
VariadicDefinitionWithEmbeddedInputs base classes.

TemplateInstruction and TemplateDefinition are used in more
places where appropriate.

Number of inputs no longer depends on the values of the inputs
(DropTempsInstr and AllocateObjectInstr).

This change also prepares IL for the future implementation of binary
serialization/deserialization in the following ways:
* Environment now holds Function and not ParsedFunction
  (which are not going to be serialized).
* Instructions no longer keep Zone* pointer (it's redundant).
* NativeCallInstr keeps references to handles instead of pointers.

TEST=ci (pure refactoring)

Change-Id: I932b62c1c207bbf60cddbded8a39b41beabd3e83
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/253480
Reviewed-by: Slava Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2022-08-03 14:49:55 +00:00
..
bin Fix typos 2022-07-12 19:35:22 +00:00
docs [vm] Add a glossary of terms used by the VM. 2022-07-21 19:45:15 +00:00
include [vm, gc] Very basic RAIL. 2022-07-27 16:40:38 +00:00
lib [vm, ffi] Fail more gracefully when attempting to use FFI on a simulator. 2022-07-25 19:29:09 +00:00
observatory Fixed various typos in a lot of files 2022-07-25 12:21:59 +00:00
observatory_2 Fixed various typos in a lot of files 2022-07-25 12:21:59 +00:00
platform [vm] Update bit algorithms in utils.cc 2022-05-16 07:30:40 +00:00
tests "Reland "[vm] Remove warnings about non-standard stack traces." 2022-08-03 09:51:35 +00:00
third_party [vm] More pieces of Windows ARM support. 2022-04-07 23:15:48 +00:00
tools [dartfuzz] Don't try to use FFI on simriscv. 2022-07-25 16:48:13 +00:00
vm [vm/compiler] More consistent handling of inputs of IL instructions 2022-08-03 14:49:55 +00:00
.clang-tidy
.gitignore
BUILD.gn [build] -fno-strict-vtable-pointers is a Clang-only flag. 2022-03-30 17:34:20 +00:00
codereview.settings
configs.gni
CPPLINT.cfg
OWNERS [infra] Add OWNERS to the Dart SDK 2022-02-14 14:06:34 +00:00
PRESUBMIT.py [python3] Migrate PRESUBMIT.py files 2021-08-16 08:29:54 +00:00
runtime_args.gni [VM] error: ‘mallinfo mallinfo()’ is deprecated 2021-12-08 00:25:10 +00:00