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

Unified Diff: src/compiler/instruction.h

Issue 699083003: [turbofan] extend register allocator testing with control flow (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 1 month 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 | « no previous file | src/compiler/instruction.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/compiler/instruction.h
diff --git a/src/compiler/instruction.h b/src/compiler/instruction.h
index b42e17ba72ee28e999a9c25aa7917a9321960743..426d4cd28d20015fc2dc6d5e0aead20cebdfea12 100644
--- a/src/compiler/instruction.h
+++ b/src/compiler/instruction.h
@@ -624,9 +624,10 @@ class BlockStartInstruction FINAL : public GapInstruction {
BasicBlock::RpoNumber rpo_number() const { return rpo_number_; }
BasicBlock::Id id() const { return id_; }
- static BlockStartInstruction* New(Zone* zone, BasicBlock* block) {
+ static BlockStartInstruction* New(Zone* zone, BasicBlock::Id id,
+ BasicBlock::RpoNumber rpo_number) {
void* buffer = zone->New(sizeof(BlockStartInstruction));
- return new (buffer) BlockStartInstruction(block);
+ return new (buffer) BlockStartInstruction(id, rpo_number);
}
static BlockStartInstruction* cast(Instruction* instr) {
@@ -635,10 +636,10 @@ class BlockStartInstruction FINAL : public GapInstruction {
}
private:
- explicit BlockStartInstruction(BasicBlock* block)
+ BlockStartInstruction(BasicBlock::Id id, BasicBlock::RpoNumber rpo_number)
: GapInstruction(kBlockStartInstruction),
- id_(block->id()),
- rpo_number_(block->GetRpoNumber()) {}
+ id_(id),
+ rpo_number_(rpo_number) {}
BasicBlock::Id id_;
BasicBlock::RpoNumber rpo_number_;
@@ -799,7 +800,11 @@ class PhiInstruction FINAL : public ZoneObject {
// Analogue of BasicBlock for Instructions instead of Nodes.
class InstructionBlock FINAL : public ZoneObject {
public:
- explicit InstructionBlock(Zone* zone, const BasicBlock* block);
+ InstructionBlock(Zone* zone, BasicBlock::Id id,
+ BasicBlock::RpoNumber ao_number,
+ BasicBlock::RpoNumber rpo_number,
+ BasicBlock::RpoNumber loop_header,
+ BasicBlock::RpoNumber loop_end, bool deferred);
// Instruction indexes (used by the register allocator).
int first_instruction_index() const {
@@ -943,8 +948,8 @@ class InstructionSequence FINAL {
// Used by the instruction selector while adding instructions.
int AddInstruction(Instruction* instr);
- void StartBlock(BasicBlock* block);
- void EndBlock(BasicBlock* block);
+ void StartBlock(BasicBlock::RpoNumber rpo);
+ void EndBlock(BasicBlock::RpoNumber rpo);
int AddConstant(int virtual_register, Constant constant) {
DCHECK(virtual_register >= 0 && virtual_register < next_virtual_register_);
« no previous file with comments | « no previous file | src/compiler/instruction.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698