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

Unified Diff: src/compiler/register-allocator.cc

Issue 1422333003: [turbofan] optimize redundant moves around splinter sites (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 2 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/register-allocator.cc
diff --git a/src/compiler/register-allocator.cc b/src/compiler/register-allocator.cc
index 0410b417f84136a52c80b1a5940cd1651d99c2f2..b53151102527dd4a258f1776ed912e59be513a1b 100644
--- a/src/compiler/register-allocator.cc
+++ b/src/compiler/register-allocator.cc
@@ -1435,29 +1435,31 @@ bool RegisterAllocationData::IsBlockBoundary(LifetimePosition pos) const {
}
-void RegisterAllocationData::Print(
- const InstructionSequence* instructionSequence) {
+void Print(const RegisterConfiguration* config,
+ const InstructionSequence* instructionSequence) {
OFStream os(stdout);
PrintableInstructionSequence wrapper;
- wrapper.register_configuration_ = config();
+ wrapper.register_configuration_ = config;
wrapper.sequence_ = instructionSequence;
os << wrapper << std::endl;
}
-void RegisterAllocationData::Print(const Instruction* instruction) {
+void Print(const RegisterConfiguration* config,
+ const Instruction* instruction) {
OFStream os(stdout);
PrintableInstruction wrapper;
wrapper.instr_ = instruction;
- wrapper.register_configuration_ = config();
+ wrapper.register_configuration_ = config;
os << wrapper << std::endl;
}
-void RegisterAllocationData::Print(const LiveRange* range, bool with_children) {
+void Print(const RegisterConfiguration* config, const LiveRange* range,
+ bool with_children) {
OFStream os(stdout);
PrintableLiveRange wrapper;
- wrapper.register_configuration_ = config();
+ wrapper.register_configuration_ = config;
for (const LiveRange* i = range; i != nullptr; i = i->next()) {
wrapper.range_ = i;
os << wrapper << std::endl;
@@ -1466,19 +1468,19 @@ void RegisterAllocationData::Print(const LiveRange* range, bool with_children) {
}
-void RegisterAllocationData::Print(const InstructionOperand& op) {
+void Print(const RegisterConfiguration* config, const InstructionOperand& op) {
OFStream os(stdout);
PrintableInstructionOperand wrapper;
- wrapper.register_configuration_ = config();
+ wrapper.register_configuration_ = config;
wrapper.op_ = op;
os << wrapper << std::endl;
}
-void RegisterAllocationData::Print(const MoveOperands* move) {
+void Print(const RegisterConfiguration* config, const MoveOperands* move) {
OFStream os(stdout);
PrintableInstructionOperand wrapper;
- wrapper.register_configuration_ = config();
+ wrapper.register_configuration_ = config;
wrapper.op_ = move->destination();
os << wrapper << " = ";
wrapper.op_ = move->source();
@@ -1486,7 +1488,7 @@ void RegisterAllocationData::Print(const MoveOperands* move) {
}
-void RegisterAllocationData::Print(const SpillRange* spill_range) {
+void Print(const RegisterConfiguration* config, const SpillRange* spill_range) {
OFStream os(stdout);
os << "{" << std::endl;
for (TopLevelLiveRange* range : spill_range->live_ranges()) {

Powered by Google App Engine
This is Rietveld 408576698