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

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

Issue 1239793002: [interpreter] Add basic framework for bytecode handler code generation. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Add tests 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
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..9e19ebfc599e21e6cd8b4ea2f0b0c6e868e4cc0d 100644
--- a/src/compiler/raw-machine-assembler.h
+++ b/src/compiler/raw-machine-assembler.h
@@ -5,6 +5,7 @@
#ifndef V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_
#define V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_
+#include "src/assembler.h"
#include "src/compiler/common-operator.h"
#include "src/compiler/graph-builder.h"
#include "src/compiler/linkage.h"
@@ -12,7 +13,6 @@
#include "src/compiler/node.h"
#include "src/compiler/operator.h"
-
namespace v8 {
namespace internal {
namespace compiler {
@@ -108,12 +108,12 @@ class RawMachineAssembler : public GraphBuilder {
return NewNode(machine()->Load(rep), base, index, graph()->start(),
graph()->start());
}
- void Store(MachineType rep, Node* base, Node* value) {
- Store(rep, base, IntPtrConstant(0), value);
+ Node* Store(MachineType rep, Node* base, Node* value) {
+ return Store(rep, base, IntPtrConstant(0), value);
}
- void Store(MachineType rep, Node* base, Node* index, Node* value) {
- NewNode(machine()->Store(StoreRepresentation(rep, kNoWriteBarrier)), base,
- index, value, graph()->start(), graph()->start());
+ Node* Store(MachineType rep, Node* base, Node* index, Node* value) {
+ return NewNode(machine()->Store(StoreRepresentation(rep, kNoWriteBarrier)),
+ base, index, value, graph()->start(), graph()->start());
}
// Arithmetic Operations.
Node* WordAnd(Node* a, Node* b) {
@@ -455,8 +455,8 @@ class RawMachineAssembler : public GraphBuilder {
Node* LoadFromPointer(void* address, MachineType rep, int32_t offset = 0) {
return Load(rep, PointerConstant(address), Int32Constant(offset));
}
- void StoreToPointer(void* address, MachineType rep, Node* node) {
- Store(rep, PointerConstant(address), node);
+ Node* StoreToPointer(void* address, MachineType rep, Node* node) {
+ return Store(rep, PointerConstant(address), node);
}
Node* StringConstant(const char* string) {
return HeapConstant(isolate()->factory()->InternalizeUtf8String(string));
@@ -511,21 +511,22 @@ class RawMachineAssembler : public GraphBuilder {
// MachineAssembler is invalid after export.
Schedule* Export();
+ Schedule* schedule() {
+ DCHECK(ScheduleValid());
+ return schedule_;
+ }
+
+ BasicBlock* CurrentBlock();
+
protected:
Node* MakeNode(const Operator* op, int input_count, Node** inputs,
bool incomplete) final;
bool ScheduleValid() { return schedule_ != NULL; }
- Schedule* schedule() {
- DCHECK(ScheduleValid());
- return schedule_;
- }
-
private:
BasicBlock* Use(Label* label);
BasicBlock* EnsureBlock(Label* label);
- BasicBlock* CurrentBlock();
Schedule* schedule_;
MachineOperatorBuilder machine_;

Powered by Google App Engine
This is Rietveld 408576698