Revision: 15070
Author:   [email protected]
Date:     Tue Jun 11 10:41:03 2013
Log: MIPS: Skip some conditional deopts for Div/Mul when all uses are truncating.

Port r15060 (8cdd204)

Original commit message:
- set "can be minus zero" flag properly so minus-zero checks are skipped
- skip "integer result?" check in division code when uses are truncating
- drive-by cleanup: consolidated computation of kCanOverflow flag for Add/Sub into range inference phase

BUG=v8:2132
[email protected]

Review URL: https://codereview.chromium.org/16645007

Patch from Balazs Kilvady <[email protected]>.
http://code.google.com/p/v8/source/detail?r=15070

Modified:
 /branches/bleeding_edge/src/mips/lithium-codegen-mips.cc

=======================================
--- /branches/bleeding_edge/src/mips/lithium-codegen-mips.cc Tue Jun 11 04:55:56 2013 +++ /branches/bleeding_edge/src/mips/lithium-codegen-mips.cc Tue Jun 11 10:41:03 2013
@@ -1246,8 +1246,10 @@
     __ bind(&left_not_min_int);
   }

-  __ mfhi(result);
-  DeoptimizeIf(ne, instr->environment(), result, Operand(zero_reg));
+ if (!instr->hydrogen()->CheckFlag(HInstruction::kAllUsesTruncatingToInt32)) {
+    __ mfhi(result);
+    DeoptimizeIf(ne, instr->environment(), result, Operand(zero_reg));
+  }
   __ mflo(result);
 }

--
--
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.


Reply via email to