Commit 93453eee authored by Tobias Tebbi's avatar Tobias Tebbi Committed by Commit Bot

[turbofan] refactor MachineOperatorBuilder to use less macros

The macro magic used to assemble the operator cache in
machine-operator.cc was quite involved and difficult to follow.
This change replaces many macros with templates and simplifies the
logic. Similar changes could also be applied to other operator builders.

Change-Id: Ie4268c59b7c663f1aac360c87e9cce3100c90a29
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2132246
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67055}
parent 8b3e66d5
This diff is collapsed.
...@@ -18,7 +18,6 @@ namespace internal { ...@@ -18,7 +18,6 @@ namespace internal {
namespace compiler { namespace compiler {
// Forward declarations. // Forward declarations.
struct MachineOperatorGlobalCache;
class Operator; class Operator;
...@@ -867,7 +866,6 @@ class V8_EXPORT_PRIVATE MachineOperatorBuilder final ...@@ -867,7 +866,6 @@ class V8_EXPORT_PRIVATE MachineOperatorBuilder final
private: private:
Zone* zone_; Zone* zone_;
MachineOperatorGlobalCache const& cache_;
MachineRepresentation const word_; MachineRepresentation const word_;
Flags const flags_; Flags const flags_;
AlignmentRequirements const alignment_requirements_; AlignmentRequirements const alignment_requirements_;
......
...@@ -66,8 +66,6 @@ class V8_EXPORT_PRIVATE Operator : public NON_EXPORTED_BASE(ZoneObject) { ...@@ -66,8 +66,6 @@ class V8_EXPORT_PRIVATE Operator : public NON_EXPORTED_BASE(ZoneObject) {
size_t value_in, size_t effect_in, size_t control_in, size_t value_in, size_t effect_in, size_t control_in,
size_t value_out, size_t effect_out, size_t control_out); size_t value_out, size_t effect_out, size_t control_out);
virtual ~Operator() = default;
// A small integer unique to all instances of a particular kind of operator, // A small integer unique to all instances of a particular kind of operator,
// useful for quick matching for specific kinds of operators. For fast access // useful for quick matching for specific kinds of operators. For fast access
// the opcode is stored directly in the operator object. // the opcode is stored directly in the operator object.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment