| Index: src/builtins/arm/builtins-arm.cc | 
| diff --git a/src/builtins/arm/builtins-arm.cc b/src/builtins/arm/builtins-arm.cc | 
| index 72292e7ecfb1733c3b8b9715bf8e83532112b851..378dc3664230a22a1273968ce7d410cc55470c46 100644 | 
| --- a/src/builtins/arm/builtins-arm.cc | 
| +++ b/src/builtins/arm/builtins-arm.cc | 
| @@ -120,112 +120,6 @@ void Builtins::Generate_ArrayCode(MacroAssembler* masm) { | 
| } | 
|  | 
| // static | 
| -void Builtins::Generate_MathMaxMin(MacroAssembler* masm, MathMaxMinKind kind) { | 
| -  // ----------- S t a t e ------------- | 
| -  //  -- r0                     : number of arguments | 
| -  //  -- r1                     : function | 
| -  //  -- cp                     : context | 
| -  //  -- lr                     : return address | 
| -  //  -- sp[(argc - n - 1) * 4] : arg[n] (zero based) | 
| -  //  -- sp[argc * 4]           : receiver | 
| -  // ----------------------------------- | 
| -  Condition const cc_done = (kind == MathMaxMinKind::kMin) ? mi : gt; | 
| -  Condition const cc_swap = (kind == MathMaxMinKind::kMin) ? gt : mi; | 
| -  Heap::RootListIndex const root_index = | 
| -      (kind == MathMaxMinKind::kMin) ? Heap::kInfinityValueRootIndex | 
| -                                     : Heap::kMinusInfinityValueRootIndex; | 
| -  DoubleRegister const reg = (kind == MathMaxMinKind::kMin) ? d2 : d1; | 
| - | 
| -  // Load the accumulator with the default return value (either -Infinity or | 
| -  // +Infinity), with the tagged value in r5 and the double value in d1. | 
| -  __ LoadRoot(r5, root_index); | 
| -  __ vldr(d1, FieldMemOperand(r5, HeapNumber::kValueOffset)); | 
| - | 
| -  Label done_loop, loop; | 
| -  __ mov(r4, r0); | 
| -  __ bind(&loop); | 
| -  { | 
| -    // Check if all parameters done. | 
| -    __ sub(r4, r4, Operand(1), SetCC); | 
| -    __ b(lt, &done_loop); | 
| - | 
| -    // Load the next parameter tagged value into r2. | 
| -    __ ldr(r2, MemOperand(sp, r4, LSL, kPointerSizeLog2)); | 
| - | 
| -    // Load the double value of the parameter into d2, maybe converting the | 
| -    // parameter to a number first using the ToNumber builtin if necessary. | 
| -    Label convert, convert_smi, convert_number, done_convert; | 
| -    __ bind(&convert); | 
| -    __ JumpIfSmi(r2, &convert_smi); | 
| -    __ ldr(r3, FieldMemOperand(r2, HeapObject::kMapOffset)); | 
| -    __ JumpIfRoot(r3, Heap::kHeapNumberMapRootIndex, &convert_number); | 
| -    { | 
| -      // Parameter is not a Number, use the ToNumber builtin to convert it. | 
| -      DCHECK(!FLAG_enable_embedded_constant_pool); | 
| -      FrameScope scope(masm, StackFrame::MANUAL); | 
| -      __ SmiTag(r0); | 
| -      __ SmiTag(r4); | 
| -      __ EnterBuiltinFrame(cp, r1, r0); | 
| -      __ Push(r4, r5); | 
| -      __ mov(r0, r2); | 
| -      __ Call(masm->isolate()->builtins()->ToNumber(), RelocInfo::CODE_TARGET); | 
| -      __ mov(r2, r0); | 
| -      __ Pop(r4, r5); | 
| -      __ LeaveBuiltinFrame(cp, r1, r0); | 
| -      __ SmiUntag(r4); | 
| -      __ SmiUntag(r0); | 
| -      { | 
| -        // Restore the double accumulator value (d1). | 
| -        Label done_restore; | 
| -        __ SmiToDouble(d1, r5); | 
| -        __ JumpIfSmi(r5, &done_restore); | 
| -        __ vldr(d1, FieldMemOperand(r5, HeapNumber::kValueOffset)); | 
| -        __ bind(&done_restore); | 
| -      } | 
| -    } | 
| -    __ b(&convert); | 
| -    __ bind(&convert_number); | 
| -    __ vldr(d2, FieldMemOperand(r2, HeapNumber::kValueOffset)); | 
| -    __ b(&done_convert); | 
| -    __ bind(&convert_smi); | 
| -    __ SmiToDouble(d2, r2); | 
| -    __ bind(&done_convert); | 
| - | 
| -    // Perform the actual comparison with the accumulator value on the left hand | 
| -    // side (d1) and the next parameter value on the right hand side (d2). | 
| -    Label compare_nan, compare_swap; | 
| -    __ VFPCompareAndSetFlags(d1, d2); | 
| -    __ b(cc_done, &loop); | 
| -    __ b(cc_swap, &compare_swap); | 
| -    __ b(vs, &compare_nan); | 
| - | 
| -    // Left and right hand side are equal, check for -0 vs. +0. | 
| -    __ VmovHigh(ip, reg); | 
| -    __ cmp(ip, Operand(0x80000000)); | 
| -    __ b(ne, &loop); | 
| - | 
| -    // Result is on the right hand side. | 
| -    __ bind(&compare_swap); | 
| -    __ vmov(d1, d2); | 
| -    __ mov(r5, r2); | 
| -    __ b(&loop); | 
| - | 
| -    // At least one side is NaN, which means that the result will be NaN too. | 
| -    __ bind(&compare_nan); | 
| -    __ LoadRoot(r5, Heap::kNanValueRootIndex); | 
| -    __ vldr(d1, FieldMemOperand(r5, HeapNumber::kValueOffset)); | 
| -    __ b(&loop); | 
| -  } | 
| - | 
| -  __ bind(&done_loop); | 
| -  // Drop all slots, including the receiver. | 
| -  __ add(r0, r0, Operand(1)); | 
| -  __ Drop(r0); | 
| -  __ mov(r0, r5); | 
| -  __ Ret(); | 
| -} | 
| - | 
| -// static | 
| void Builtins::Generate_NumberConstructor(MacroAssembler* masm) { | 
| // ----------- S t a t e ------------- | 
| //  -- r0                     : number of arguments | 
|  |