dart-sdk/runtime/vm/compiler/frontend
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
..
base_flow_graph_builder.cc Revert "[vm, compiler] Implement unboxed SIMD for RISC-V via lowering." 2022-08-03 10:32:46 +00:00
base_flow_graph_builder.h Revert "[vm, compiler] Implement unboxed SIMD for RISC-V via lowering." 2022-08-03 10:32:46 +00:00
constant_reader.cc [vm] Avoid wasted space in the data array for map and set constants. 2022-03-16 10:05:43 +00:00
constant_reader.h [vm] Separate class for sentinel objects 2021-06-11 18:44:56 +00:00
flow_graph_builder.cc [vm, compiler] Allocate only one SSA index to definitions, even those with pair representation. 2022-07-13 23:27:33 +00:00
flow_graph_builder.h
kernel_binary_flowgraph.cc [vm, compiler] Rename StoreInstanceFieldInstr to StoreFieldInstr to match LoadFieldInstr and GuardFieldXYZInstr. 2022-07-27 20:00:49 +00:00
kernel_binary_flowgraph.h [vm] Cleanup more async-related code 2022-07-14 16:04:54 +00:00
kernel_binary_flowgraph_test.cc Fix MSVC build 2022-03-22 18:28:19 +00:00
kernel_fingerprints.cc [kernel] Add exhaustiveness information to switch statements 2022-06-07 10:45:39 +00:00
kernel_fingerprints.h
kernel_to_il.cc [vm/compiler] More consistent handling of inputs of IL instructions 2022-08-03 14:49:55 +00:00
kernel_to_il.h [vm/compiler] More consistent handling of inputs of IL instructions 2022-08-03 14:49:55 +00:00
kernel_translation_helper.cc Revert "Account for @pragma("vm:entry-point") creating additional "root" libraries when partitioning the program into loading units." 2022-06-24 07:35:08 +00:00
kernel_translation_helper.h [kernel] Remove obsolete AsyncMarker.SyncYielding and YieldStatement.isNative 2022-07-11 18:20:45 +00:00
prologue_builder.cc [vm] New async/await implementation in the VM, part 2 - vm 2022-04-29 01:03:50 +00:00
prologue_builder.h [vm] New async/await implementation in the VM, part 2 - vm 2022-04-29 01:03:50 +00:00
scope_builder.cc [vm] Cleanup more async-related code 2022-07-14 16:04:54 +00:00
scope_builder.h [vm] Cleanup more async-related code 2022-07-14 16:04:54 +00:00