| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 3789 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3800 } | 3800 } |
| 3801 | 3801 |
| 3802 | 3802 |
| 3803 void LCodeGen::DoDeferredRandom(LRandom* instr) { | 3803 void LCodeGen::DoDeferredRandom(LRandom* instr) { |
| 3804 __ PrepareCallCFunction(1, scratch0()); | 3804 __ PrepareCallCFunction(1, scratch0()); |
| 3805 __ CallCFunction(ExternalReference::random_uint32_function(isolate()), 1); | 3805 __ CallCFunction(ExternalReference::random_uint32_function(isolate()), 1); |
| 3806 // Return value is in r0. | 3806 // Return value is in r0. |
| 3807 } | 3807 } |
| 3808 | 3808 |
| 3809 | 3809 |
| 3810 void LCodeGen::DoMathExp(LMathExp* instr) { |
| 3811 DoubleRegister input = ToDoubleRegister(instr->value()); |
| 3812 DoubleRegister result = ToDoubleRegister(instr->result()); |
| 3813 DoubleRegister double_scratch1 = ToDoubleRegister(instr->double_temp()); |
| 3814 DoubleRegister double_scratch2 = double_scratch0(); |
| 3815 Register temp1 = ToRegister(instr->temp1()); |
| 3816 Register temp2 = ToRegister(instr->temp2()); |
| 3817 |
| 3818 MathExpGenerator::EmitMathExp( |
| 3819 masm(), input, result, double_scratch1, double_scratch2, |
| 3820 temp1, temp2, scratch0()); |
| 3821 } |
| 3822 |
| 3823 |
| 3810 void LCodeGen::DoMathLog(LUnaryMathOperation* instr) { | 3824 void LCodeGen::DoMathLog(LUnaryMathOperation* instr) { |
| 3811 ASSERT(ToDoubleRegister(instr->result()).is(d2)); | 3825 ASSERT(ToDoubleRegister(instr->result()).is(d2)); |
| 3812 TranscendentalCacheStub stub(TranscendentalCache::LOG, | 3826 TranscendentalCacheStub stub(TranscendentalCache::LOG, |
| 3813 TranscendentalCacheStub::UNTAGGED); | 3827 TranscendentalCacheStub::UNTAGGED); |
| 3814 CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); | 3828 CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); |
| 3815 } | 3829 } |
| 3816 | 3830 |
| 3817 | 3831 |
| 3818 void LCodeGen::DoMathTan(LUnaryMathOperation* instr) { | 3832 void LCodeGen::DoMathTan(LUnaryMathOperation* instr) { |
| 3819 ASSERT(ToDoubleRegister(instr->result()).is(d2)); | 3833 ASSERT(ToDoubleRegister(instr->result()).is(d2)); |
| (...skipping 1951 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5771 __ sub(scratch, result, Operand(index, LSL, kPointerSizeLog2 - kSmiTagSize)); | 5785 __ sub(scratch, result, Operand(index, LSL, kPointerSizeLog2 - kSmiTagSize)); |
| 5772 __ ldr(result, FieldMemOperand(scratch, | 5786 __ ldr(result, FieldMemOperand(scratch, |
| 5773 FixedArray::kHeaderSize - kPointerSize)); | 5787 FixedArray::kHeaderSize - kPointerSize)); |
| 5774 __ bind(&done); | 5788 __ bind(&done); |
| 5775 } | 5789 } |
| 5776 | 5790 |
| 5777 | 5791 |
| 5778 #undef __ | 5792 #undef __ |
| 5779 | 5793 |
| 5780 } } // namespace v8::internal | 5794 } } // namespace v8::internal |
| OLD | NEW |