Revision: 18165
Author: [email protected]
Date: Fri Nov 29 19:50:38 2013 UTC
Log: MIPS: Optimize NumberTagU
Port r18162 (8377a09b)
Original commit message:
Optimize register constaints for NumberTagU Lithium instruction, and adjust
code generated to match.
BUG=
[email protected]
Review URL: https://codereview.chromium.org/97083002
http://code.google.com/p/v8/source/detail?r=18165
Modified:
/branches/bleeding_edge/src/mips/lithium-codegen-mips.cc
/branches/bleeding_edge/src/mips/lithium-mips.cc
=======================================
--- /branches/bleeding_edge/src/mips/lithium-codegen-mips.cc Tue Nov 26
20:31:47 2013 UTC
+++ /branches/bleeding_edge/src/mips/lithium-codegen-mips.cc Fri Nov 29
19:50:38 2013 UTC
@@ -4708,13 +4708,12 @@
LNumberTagU* instr_;
};
- LOperand* input = instr->value();
- ASSERT(input->IsRegister() && input->Equals(instr->result()));
- Register reg = ToRegister(input);
+ Register input = ToRegister(instr->value());
+ Register result = ToRegister(instr->result());
DeferredNumberTagU* deferred = new(zone()) DeferredNumberTagU(this,
instr);
- __ Branch(deferred->entry(), hi, reg, Operand(Smi::kMaxValue));
- __ SmiTag(reg, reg);
+ __ Branch(deferred->entry(), hi, input, Operand(Smi::kMaxValue));
+ __ SmiTag(result, input);
__ bind(deferred->exit());
}
=======================================
--- /branches/bleeding_edge/src/mips/lithium-mips.cc Tue Nov 26 20:31:47
2013 UTC
+++ /branches/bleeding_edge/src/mips/lithium-mips.cc Fri Nov 29 19:50:38
2013 UTC
@@ -1940,7 +1940,7 @@
LOperand* value = UseRegisterAtStart(val);
if (val->CheckFlag(HInstruction::kUint32)) {
LNumberTagU* result = new(zone()) LNumberTagU(value);
- return
AssignEnvironment(AssignPointerMap(DefineSameAsFirst(result)));
+ return
AssignEnvironment(AssignPointerMap(DefineAsRegister(result)));
} else if (val->HasRange() && val->range()->IsInSmiRange()) {
return DefineAsRegister(new(zone()) LSmiTag(value));
} else {
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.