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

Unified Diff: src/compiler/instruction-selector.cc

Issue 1426943010: [turbofan] Spill rsi and rdi in their existing locations. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 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
Index: src/compiler/instruction-selector.cc
diff --git a/src/compiler/instruction-selector.cc b/src/compiler/instruction-selector.cc
index eac5571e9c4b8ae1424aab36d9690efb941a5db0..39db29890b19c9643d429182447557e3f84c2070 100644
--- a/src/compiler/instruction-selector.cc
+++ b/src/compiler/instruction-selector.cc
@@ -1082,9 +1082,19 @@ void InstructionSelector::VisitGuard(Node* node) {
void InstructionSelector::VisitParameter(Node* node) {
OperandGenerator g(this);
int index = ParameterIndexOf(node->op());
- Emit(kArchNop,
- g.DefineAsLocation(node, linkage()->GetParameterLocation(index),
- linkage()->GetParameterType(index)));
+ InstructionOperand op =
+ g.DefineAsLocation(node, linkage()->GetParameterLocation(index),
+ linkage()->GetParameterType(index));
+
+ if (linkage()->ParameterHasSecondaryLocation(index)) {
+ InstructionOperand prespilled = g.DefineAsLocation(
Jarin 2015/11/12 12:08:33 I am mildly surprised that it is possible to defin
Mircea Trofin 2015/11/12 18:01:35 Will do - if we keep this design.
+ node, linkage()->GetParameterSecondaryLocation(index),
+ linkage()->GetParameterType(index));
+ InstructionOperand outputs[2] = {op, prespilled};
+ Emit(kArchNop, 2, outputs, 0, nullptr);
+ } else {
+ Emit(kArchNop, op);
+ }
}
« no previous file with comments | « src/compiler/frame.h ('k') | src/compiler/linkage.h » ('j') | src/compiler/linkage.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698