MIPS: port Fix evaluation order of GT and LTE operators.
Port r9641 (2876c37) Note that this port does not include crankshaft portions of this commit. They have been included in today's update to http://codereview.chromium.org/7934002/ Also, this fixes a changed function prototype for: void Deoptimizer::RevertStackCheckCodeAt() BUG= TEST= Review URL: http://codereview.chromium.org/8348028 Patch from Paul Lind <plind44@gmail.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9700 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
2791cd5a2c
commit
acc0263755
@ -61,7 +61,8 @@ void Deoptimizer::PatchStackCheckCodeAt(Code* unoptimized_code,
|
||||
}
|
||||
|
||||
|
||||
void Deoptimizer::RevertStackCheckCodeAt(Address pc_after,
|
||||
void Deoptimizer::RevertStackCheckCodeAt(Code* unoptimized_code,
|
||||
Address pc_after,
|
||||
Code* check_code,
|
||||
Code* replacement_code) {
|
||||
UNIMPLEMENTED();
|
||||
|
@ -4100,36 +4100,26 @@ void FullCodeGenerator::VisitCompareOperation(CompareOperation* expr) {
|
||||
case Token::EQ_STRICT:
|
||||
case Token::EQ:
|
||||
cc = eq;
|
||||
__ mov(a0, result_register());
|
||||
__ pop(a1);
|
||||
break;
|
||||
case Token::LT:
|
||||
cc = lt;
|
||||
__ mov(a0, result_register());
|
||||
__ pop(a1);
|
||||
break;
|
||||
case Token::GT:
|
||||
// Reverse left and right sides to obtain ECMA-262 conversion order.
|
||||
cc = lt;
|
||||
__ mov(a1, result_register());
|
||||
__ pop(a0);
|
||||
cc = gt;
|
||||
break;
|
||||
case Token::LTE:
|
||||
// Reverse left and right sides to obtain ECMA-262 conversion order.
|
||||
cc = ge;
|
||||
__ mov(a1, result_register());
|
||||
__ pop(a0);
|
||||
cc = le;
|
||||
break;
|
||||
case Token::GTE:
|
||||
cc = ge;
|
||||
__ mov(a0, result_register());
|
||||
__ pop(a1);
|
||||
break;
|
||||
case Token::IN:
|
||||
case Token::INSTANCEOF:
|
||||
default:
|
||||
UNREACHABLE();
|
||||
}
|
||||
__ mov(a0, result_register());
|
||||
__ pop(a1);
|
||||
|
||||
bool inline_smi_code = ShouldInlineSmiCase(op);
|
||||
JumpPatchSite patch_site(masm_);
|
||||
|
@ -1560,11 +1560,9 @@ Condition CompareIC::ComputeCondition(Token::Value op) {
|
||||
case Token::LT:
|
||||
return lt;
|
||||
case Token::GT:
|
||||
// Reverse left and right operands to obtain ECMA-262 conversion order.
|
||||
return lt;
|
||||
return gt;
|
||||
case Token::LTE:
|
||||
// Reverse left and right operands to obtain ECMA-262 conversion order.
|
||||
return ge;
|
||||
return le;
|
||||
case Token::GTE:
|
||||
return ge;
|
||||
default:
|
||||
|
Loading…
Reference in New Issue
Block a user