OLD | NEW |
1 // Copyright (c) 1994-2006 Sun Microsystems Inc. | 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. |
2 // All Rights Reserved. | 2 // All Rights Reserved. |
3 // | 3 // |
4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
5 // modification, are permitted provided that the following conditions | 5 // modification, are permitted provided that the following conditions |
6 // are met: | 6 // are met: |
7 // | 7 // |
8 // - Redistributions of source code must retain the above copyright notice, | 8 // - Redistributions of source code must retain the above copyright notice, |
9 // this list of conditions and the following disclaimer. | 9 // this list of conditions and the following disclaimer. |
10 // | 10 // |
(...skipping 2307 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2318 int sd, d; | 2318 int sd, d; |
2319 first.split_code(&sd, &d); | 2319 first.split_code(&sd, &d); |
2320 int count = last.code() - first.code() + 1; | 2320 int count = last.code() - first.code() + 1; |
2321 emit(cond | B27 | B26 | am | d*B22 | base.code()*B16 | sd*B12 | | 2321 emit(cond | B27 | B26 | am | d*B22 | base.code()*B16 | sd*B12 | |
2322 0xA*B8 | count); | 2322 0xA*B8 | count); |
2323 } | 2323 } |
2324 | 2324 |
2325 | 2325 |
2326 static void DoubleAsTwoUInt32(double d, uint32_t* lo, uint32_t* hi) { | 2326 static void DoubleAsTwoUInt32(double d, uint32_t* lo, uint32_t* hi) { |
2327 uint64_t i; | 2327 uint64_t i; |
2328 MemCopy(&i, &d, 8); | 2328 memcpy(&i, &d, 8); |
2329 | 2329 |
2330 *lo = i & 0xffffffff; | 2330 *lo = i & 0xffffffff; |
2331 *hi = i >> 32; | 2331 *hi = i >> 32; |
2332 } | 2332 } |
2333 | 2333 |
2334 | 2334 |
2335 // Only works for little endian floating point formats. | 2335 // Only works for little endian floating point formats. |
2336 // We don't support VFP on the mixed endian floating point platform. | 2336 // We don't support VFP on the mixed endian floating point platform. |
2337 static bool FitsVMOVDoubleImmediate(double d, uint32_t *encoding) { | 2337 static bool FitsVMOVDoubleImmediate(double d, uint32_t *encoding) { |
2338 ASSERT(CpuFeatures::IsSupported(VFP3)); | 2338 ASSERT(CpuFeatures::IsSupported(VFP3)); |
(...skipping 1314 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3653 ASSERT((index_64bit == count_of_64bit_) && | 3653 ASSERT((index_64bit == count_of_64bit_) && |
3654 (index_code_ptr == (index_64bit + count_of_code_ptr_)) && | 3654 (index_code_ptr == (index_64bit + count_of_code_ptr_)) && |
3655 (index_heap_ptr == (index_code_ptr + count_of_heap_ptr_)) && | 3655 (index_heap_ptr == (index_code_ptr + count_of_heap_ptr_)) && |
3656 (index_32bit == (index_heap_ptr + count_of_32bit_))); | 3656 (index_32bit == (index_heap_ptr + count_of_32bit_))); |
3657 } | 3657 } |
3658 | 3658 |
3659 | 3659 |
3660 } } // namespace v8::internal | 3660 } } // namespace v8::internal |
3661 | 3661 |
3662 #endif // V8_TARGET_ARCH_ARM | 3662 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |