| OLD | NEW |
| 1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 3620 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3631 // conversion. Don't use a0 and a1 as AllocateHeapNumber clobbers all | 3631 // conversion. Don't use a0 and a1 as AllocateHeapNumber clobbers all |
| 3632 // registers - also when jumping due to exhausted young space. | 3632 // registers - also when jumping due to exhausted young space. |
| 3633 __ LoadRoot(t6, Heap::kHeapNumberMapRootIndex); | 3633 __ LoadRoot(t6, Heap::kHeapNumberMapRootIndex); |
| 3634 __ AllocateHeapNumber(v0, t2, t3, t6, &slow); | 3634 __ AllocateHeapNumber(v0, t2, t3, t6, &slow); |
| 3635 | 3635 |
| 3636 // This is replaced by a macro: | 3636 // This is replaced by a macro: |
| 3637 // __ mtc1(value, f0); // LS 32-bits. | 3637 // __ mtc1(value, f0); // LS 32-bits. |
| 3638 // __ mtc1(zero_reg, f1); // MS 32-bits are all zero. | 3638 // __ mtc1(zero_reg, f1); // MS 32-bits are all zero. |
| 3639 // __ cvt_d_l(f0, f0); // Use 64 bit conv to get correct unsigned 32-bit. | 3639 // __ cvt_d_l(f0, f0); // Use 64 bit conv to get correct unsigned 32-bit. |
| 3640 | 3640 |
| 3641 __ Cvt_d_uw(f0, value); | 3641 __ Cvt_d_uw(f0, value, f22); |
| 3642 | 3642 |
| 3643 __ sdc1(f0, MemOperand(v0, HeapNumber::kValueOffset - kHeapObjectTag)); | 3643 __ sdc1(f0, MemOperand(v0, HeapNumber::kValueOffset - kHeapObjectTag)); |
| 3644 | 3644 |
| 3645 __ Ret(); | 3645 __ Ret(); |
| 3646 } else { | 3646 } else { |
| 3647 // Check whether unsigned integer fits into smi. | 3647 // Check whether unsigned integer fits into smi. |
| 3648 Label box_int_0, box_int_1, done; | 3648 Label box_int_0, box_int_1, done; |
| 3649 __ And(t2, value, Operand(0x80000000)); | 3649 __ And(t2, value, Operand(0x80000000)); |
| 3650 __ Branch(&box_int_0, ne, t2, Operand(zero_reg)); | 3650 __ Branch(&box_int_0, ne, t2, Operand(zero_reg)); |
| 3651 __ And(t2, value, Operand(0x40000000)); | 3651 __ And(t2, value, Operand(0x40000000)); |
| (...skipping 834 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4486 masm->isolate()->builtins()->KeyedStoreIC_MissForceGeneric(); | 4486 masm->isolate()->builtins()->KeyedStoreIC_MissForceGeneric(); |
| 4487 __ Jump(ic, RelocInfo::CODE_TARGET); | 4487 __ Jump(ic, RelocInfo::CODE_TARGET); |
| 4488 } | 4488 } |
| 4489 | 4489 |
| 4490 | 4490 |
| 4491 #undef __ | 4491 #undef __ |
| 4492 | 4492 |
| 4493 } } // namespace v8::internal | 4493 } } // namespace v8::internal |
| 4494 | 4494 |
| 4495 #endif // V8_TARGET_ARCH_MIPS | 4495 #endif // V8_TARGET_ARCH_MIPS |
| OLD | NEW |