Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(274)

Unified Diff: src/compiler/raw-machine-assembler.h

Issue 1252093002: [turbofan] Remove bloated GraphBuilder base class. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/compiler/graph-builder.h ('k') | src/compiler/raw-machine-assembler.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/compiler/raw-machine-assembler.h
diff --git a/src/compiler/raw-machine-assembler.h b/src/compiler/raw-machine-assembler.h
index 36299440d681ac2550ed7e336741e08b94fe92f4..79f5ed593bd350742c27906c98622c8eda782531 100644
--- a/src/compiler/raw-machine-assembler.h
+++ b/src/compiler/raw-machine-assembler.h
@@ -6,7 +6,7 @@
#define V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_
#include "src/compiler/common-operator.h"
-#include "src/compiler/graph-builder.h"
+#include "src/compiler/graph.h"
#include "src/compiler/linkage.h"
#include "src/compiler/machine-operator.h"
#include "src/compiler/node.h"
@@ -21,7 +21,7 @@ class BasicBlock;
class Schedule;
-class RawMachineAssembler : public GraphBuilder {
+class RawMachineAssembler {
public:
class Label {
public:
@@ -47,8 +47,10 @@ class RawMachineAssembler : public GraphBuilder {
MachineType word = kMachPtr,
MachineOperatorBuilder::Flags flags =
MachineOperatorBuilder::Flag::kNoFlags);
- ~RawMachineAssembler() override {}
+ ~RawMachineAssembler() {}
+ Isolate* isolate() const { return isolate_; }
+ Graph* graph() const { return graph_; }
Zone* zone() const { return graph()->zone(); }
MachineOperatorBuilder* machine() { return &machine_; }
CommonOperatorBuilder* common() { return &common_; }
@@ -511,9 +513,46 @@ class RawMachineAssembler : public GraphBuilder {
// MachineAssembler is invalid after export.
Schedule* Export();
+ Node* NewNode(const Operator* op) {
+ return MakeNode(op, 0, static_cast<Node**>(NULL));
+ }
+
+ Node* NewNode(const Operator* op, Node* n1) { return MakeNode(op, 1, &n1); }
+
+ Node* NewNode(const Operator* op, Node* n1, Node* n2) {
+ Node* buffer[] = {n1, n2};
+ return MakeNode(op, arraysize(buffer), buffer);
+ }
+
+ Node* NewNode(const Operator* op, Node* n1, Node* n2, Node* n3) {
+ Node* buffer[] = {n1, n2, n3};
+ return MakeNode(op, arraysize(buffer), buffer);
+ }
+
+ Node* NewNode(const Operator* op, Node* n1, Node* n2, Node* n3, Node* n4) {
+ Node* buffer[] = {n1, n2, n3, n4};
+ return MakeNode(op, arraysize(buffer), buffer);
+ }
+
+ Node* NewNode(const Operator* op, Node* n1, Node* n2, Node* n3, Node* n4,
+ Node* n5) {
+ Node* buffer[] = {n1, n2, n3, n4, n5};
+ return MakeNode(op, arraysize(buffer), buffer);
+ }
+
+ Node* NewNode(const Operator* op, Node* n1, Node* n2, Node* n3, Node* n4,
+ Node* n5, Node* n6) {
+ Node* nodes[] = {n1, n2, n3, n4, n5, n6};
+ return MakeNode(op, arraysize(nodes), nodes);
+ }
+
+ Node* NewNode(const Operator* op, int value_input_count,
+ Node** value_inputs) {
+ return MakeNode(op, value_input_count, value_inputs);
+ }
+
protected:
- Node* MakeNode(const Operator* op, int input_count, Node** inputs,
- bool incomplete) final;
+ Node* MakeNode(const Operator* op, int input_count, Node** inputs);
bool ScheduleValid() { return schedule_ != NULL; }
@@ -527,6 +566,8 @@ class RawMachineAssembler : public GraphBuilder {
BasicBlock* EnsureBlock(Label* label);
BasicBlock* CurrentBlock();
+ Isolate* isolate_;
+ Graph* graph_;
Schedule* schedule_;
MachineOperatorBuilder machine_;
CommonOperatorBuilder common_;
« no previous file with comments | « src/compiler/graph-builder.h ('k') | src/compiler/raw-machine-assembler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698