Commit 40fb3bb0 authored by plind44@gmail.com's avatar plind44@gmail.com

MIPS: Fix zlib critical performance regression.

The very low score on zlib benchmark is caused by
huge number of deoptimizations inside BinaryOpIC stubs
when arguments are boolean.

TEST=
BUG=
R=plind44@gmail.com

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

Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent eab6854f
......@@ -4800,8 +4800,9 @@ void LCodeGen::DoDeferredTaggedToI(LTaggedToI* instr) {
// Performs a truncating conversion of a floating point number as used by
// the JS bitwise operations.
Label no_heap_number, check_bools, check_false;
__ Branch(&no_heap_number, ne, scratch1, Operand(at)); // HeapNumber map?
__ mov(scratch2, input_reg);
// Check HeapNumber map.
__ Branch(USE_DELAY_SLOT, &no_heap_number, ne, scratch1, Operand(at));
__ mov(scratch2, input_reg); // In delay slot.
__ TruncateHeapNumberToI(input_reg, scratch2);
__ Branch(&done);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment