MIPS: Refactoring and cleanup of control instructions.
Port r15513 (6f50861) BUG= Review URL: https://codereview.chromium.org/18359004 Patch from Balazs Kilvady <kilvadyb@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15527 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
5eb8ddf447
commit
a925b6b8de
@ -2202,7 +2202,7 @@ Condition LCodeGen::TokenToCondition(Token::Value op, bool is_unsigned) {
|
||||
}
|
||||
|
||||
|
||||
void LCodeGen::DoCmpIDAndBranch(LCmpIDAndBranch* instr) {
|
||||
void LCodeGen::DoCompareNumericAndBranch(LCompareNumericAndBranch* instr) {
|
||||
LOperand* left = instr->left();
|
||||
LOperand* right = instr->right();
|
||||
Condition cond = TokenToCondition(instr->op(), false);
|
||||
|
@ -187,7 +187,7 @@ LInstruction* LChunkBuilder::DoDebugBreak(HDebugBreak* instr) {
|
||||
}
|
||||
|
||||
|
||||
void LCmpIDAndBranch::PrintDataTo(StringStream* stream) {
|
||||
void LCompareNumericAndBranch::PrintDataTo(StringStream* stream) {
|
||||
stream->Add("if ");
|
||||
left()->PrintTo(stream);
|
||||
stream->Add(" %s ", Token::String(op()));
|
||||
@ -1606,8 +1606,8 @@ LInstruction* LChunkBuilder::DoCompareGeneric(HCompareGeneric* instr) {
|
||||
}
|
||||
|
||||
|
||||
LInstruction* LChunkBuilder::DoCompareIDAndBranch(
|
||||
HCompareIDAndBranch* instr) {
|
||||
LInstruction* LChunkBuilder::DoCompareNumericAndBranch(
|
||||
HCompareNumericAndBranch* instr) {
|
||||
Representation r = instr->representation();
|
||||
if (r.IsSmiOrInteger32()) {
|
||||
ASSERT(instr->left()->representation().IsSmiOrInteger32());
|
||||
@ -1615,14 +1615,14 @@ LInstruction* LChunkBuilder::DoCompareIDAndBranch(
|
||||
instr->right()->representation()));
|
||||
LOperand* left = UseRegisterOrConstantAtStart(instr->left());
|
||||
LOperand* right = UseRegisterOrConstantAtStart(instr->right());
|
||||
return new(zone()) LCmpIDAndBranch(left, right);
|
||||
return new(zone()) LCompareNumericAndBranch(left, right);
|
||||
} else {
|
||||
ASSERT(r.IsDouble());
|
||||
ASSERT(instr->left()->representation().IsDouble());
|
||||
ASSERT(instr->right()->representation().IsDouble());
|
||||
LOperand* left = UseRegisterAtStart(instr->left());
|
||||
LOperand* right = UseRegisterAtStart(instr->right());
|
||||
return new(zone()) LCmpIDAndBranch(left, right);
|
||||
return new(zone()) LCompareNumericAndBranch(left, right);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -81,7 +81,7 @@ class LCodeGen;
|
||||
V(ClampTToUint8) \
|
||||
V(ClassOfTestAndBranch) \
|
||||
V(CmpConstantEqAndBranch) \
|
||||
V(CmpIDAndBranch) \
|
||||
V(CompareNumericAndBranch) \
|
||||
V(CmpObjectEqAndBranch) \
|
||||
V(CmpMapAndBranch) \
|
||||
V(CmpT) \
|
||||
@ -712,9 +712,9 @@ class LDebugBreak: public LTemplateInstruction<0, 0, 0> {
|
||||
};
|
||||
|
||||
|
||||
class LCmpIDAndBranch: public LControlInstruction<2, 0> {
|
||||
class LCompareNumericAndBranch: public LControlInstruction<2, 0> {
|
||||
public:
|
||||
LCmpIDAndBranch(LOperand* left, LOperand* right) {
|
||||
LCompareNumericAndBranch(LOperand* left, LOperand* right) {
|
||||
inputs_[0] = left;
|
||||
inputs_[1] = right;
|
||||
}
|
||||
@ -722,8 +722,9 @@ class LCmpIDAndBranch: public LControlInstruction<2, 0> {
|
||||
LOperand* left() { return inputs_[0]; }
|
||||
LOperand* right() { return inputs_[1]; }
|
||||
|
||||
DECLARE_CONCRETE_INSTRUCTION(CmpIDAndBranch, "cmp-id-and-branch")
|
||||
DECLARE_HYDROGEN_ACCESSOR(CompareIDAndBranch)
|
||||
DECLARE_CONCRETE_INSTRUCTION(CompareNumericAndBranch,
|
||||
"compare-numeric-and-branch")
|
||||
DECLARE_HYDROGEN_ACCESSOR(CompareNumericAndBranch)
|
||||
|
||||
Token::Value op() const { return hydrogen()->token(); }
|
||||
bool is_double() const {
|
||||
|
Loading…
Reference in New Issue
Block a user