| Index: runtime/vm/flow_graph_compiler_mips.cc
|
| ===================================================================
|
| --- runtime/vm/flow_graph_compiler_mips.cc (revision 30039)
|
| +++ runtime/vm/flow_graph_compiler_mips.cc (working copy)
|
| @@ -1666,82 +1666,6 @@
|
| }
|
|
|
|
|
| -void FlowGraphCompiler::EmitDoubleCompareBranch(Condition true_condition,
|
| - FpuRegister left,
|
| - FpuRegister right,
|
| - BranchInstr* branch) {
|
| - ASSERT(branch != NULL);
|
| - __ Comment("DoubleCompareBranch");
|
| - assembler()->cund(left, right);
|
| - BlockEntryInstr* nan_result = (true_condition == NE) ?
|
| - branch->true_successor() : branch->false_successor();
|
| - assembler()->bc1t(GetJumpLabel(nan_result));
|
| -
|
| - switch (true_condition) {
|
| - case EQ: assembler()->ceqd(left, right); break;
|
| - case NE: assembler()->ceqd(left, right); break;
|
| - case LT: assembler()->coltd(left, right); break;
|
| - case LE: assembler()->coled(left, right); break;
|
| - case GT: assembler()->coltd(right, left); break;
|
| - case GE: assembler()->coled(right, left); break;
|
| - default: {
|
| - // Should only passing the above conditions to this function.
|
| - UNREACHABLE();
|
| - break;
|
| - }
|
| - }
|
| -
|
| - assembler()->LoadImmediate(TMP, 1);
|
| - if (true_condition == NE) {
|
| - assembler()->movf(CMPRES1, ZR);
|
| - assembler()->movt(CMPRES1, TMP);
|
| - } else {
|
| - assembler()->movf(CMPRES1, TMP);
|
| - assembler()->movt(CMPRES1, ZR);
|
| - }
|
| - assembler()->mov(CMPRES2, ZR);
|
| -
|
| - // EmitBranchOnCondition expects ordering to be described by CMPRES1, CMPRES2.
|
| - branch->EmitBranchOnCondition(this, EQ);
|
| -}
|
| -
|
| -
|
| -void FlowGraphCompiler::EmitDoubleCompareBool(Condition true_condition,
|
| - FpuRegister left,
|
| - FpuRegister right,
|
| - Register result) {
|
| - Label done, is_true;
|
| - Label* nan_label = (true_condition == NE) ? &is_true : &done;
|
| - __ Comment("DoubleCompareBool");
|
| - assembler()->LoadObject(result, Bool::False());
|
| - assembler()->cund(left, right);
|
| - assembler()->bc1t(nan_label);
|
| -
|
| - switch (true_condition) {
|
| - case EQ: assembler()->ceqd(left, right); break;
|
| - case NE: assembler()->ceqd(left, right); break;
|
| - case LT: assembler()->coltd(left, right); break;
|
| - case LE: assembler()->coled(left, right); break;
|
| - case GT: assembler()->coltd(right, left); break;
|
| - case GE: assembler()->coled(right, left); break;
|
| - default: {
|
| - // Should only passing the above conditions to this function.
|
| - UNREACHABLE();
|
| - break;
|
| - }
|
| - }
|
| -
|
| - if (true_condition == NE) {
|
| - assembler()->bc1t(&done); // False is already in result.
|
| - } else {
|
| - assembler()->bc1f(&done);
|
| - }
|
| - assembler()->Bind(&is_true);
|
| - assembler()->LoadObject(result, Bool::True());
|
| - assembler()->Bind(&done);
|
| -}
|
| -
|
| -
|
| FieldAddress FlowGraphCompiler::ElementAddressForIntIndex(intptr_t cid,
|
| intptr_t index_scale,
|
| Register array,
|
|
|