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 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
59 uint64_t answer = 0; | 59 uint64_t answer = 0; |
60 #ifdef CAN_USE_ARMV7_INSTRUCTIONS | 60 #ifdef CAN_USE_ARMV7_INSTRUCTIONS |
61 answer |= 1u << ARMv7; | 61 answer |= 1u << ARMv7; |
62 #endif // def CAN_USE_ARMV7_INSTRUCTIONS | 62 #endif // def CAN_USE_ARMV7_INSTRUCTIONS |
63 #ifdef CAN_USE_VFP_INSTRUCTIONS | 63 #ifdef CAN_USE_VFP_INSTRUCTIONS |
64 answer |= 1u << VFP3 | 1u << ARMv7; | 64 answer |= 1u << VFP3 | 1u << ARMv7; |
65 #endif // def CAN_USE_VFP_INSTRUCTIONS | 65 #endif // def CAN_USE_VFP_INSTRUCTIONS |
66 | 66 |
67 #ifdef __arm__ | 67 #ifdef __arm__ |
68 // If the compiler is allowed to use VFP then we can use VFP too in our code | 68 // If the compiler is allowed to use VFP then we can use VFP too in our code |
69 // generation even when generating snapshots. This won't work for cross | 69 // generation even when generating snapshots. ARMv7 and hardware floating |
70 // compilation. VFPv3 implies ARMv7, see ARM DDI 0406B, page A1-6. | 70 // point support implies VFPv3, see ARM DDI 0406B, page A1-6. |
71 #if defined(__VFP_FP__) && !defined(__SOFTFP__) | 71 #if defined(CAN_USE_ARMV7_INSTRUCTIONS) && defined(__VFP_FP__) \ |
| 72 && !defined(__SOFTFP__) |
72 answer |= 1u << VFP3 | 1u << ARMv7; | 73 answer |= 1u << VFP3 | 1u << ARMv7; |
73 #endif // defined(__VFP_FP__) && !defined(__SOFTFP__) | 74 #endif // defined(CAN_USE_ARMV7_INSTRUCTIONS) && defined(__VFP_FP__) |
| 75 // && !defined(__SOFTFP__) |
74 #endif // def __arm__ | 76 #endif // def __arm__ |
75 | 77 |
76 return answer; | 78 return answer; |
77 } | 79 } |
78 | 80 |
79 | 81 |
80 void CpuFeatures::Probe() { | 82 void CpuFeatures::Probe() { |
81 unsigned standard_features = (OS::CpuFeaturesImpliedByPlatform() | | 83 unsigned standard_features = (OS::CpuFeaturesImpliedByPlatform() | |
82 CpuFeaturesImpliedByCompiler()); | 84 CpuFeaturesImpliedByCompiler()); |
83 ASSERT(supported_ == 0 || supported_ == standard_features); | 85 ASSERT(supported_ == 0 || supported_ == standard_features); |
(...skipping 2570 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2654 | 2656 |
2655 // Since a constant pool was just emitted, move the check offset forward by | 2657 // Since a constant pool was just emitted, move the check offset forward by |
2656 // the standard interval. | 2658 // the standard interval. |
2657 next_buffer_check_ = pc_offset() + kCheckPoolInterval; | 2659 next_buffer_check_ = pc_offset() + kCheckPoolInterval; |
2658 } | 2660 } |
2659 | 2661 |
2660 | 2662 |
2661 } } // namespace v8::internal | 2663 } } // namespace v8::internal |
2662 | 2664 |
2663 #endif // V8_TARGET_ARCH_ARM | 2665 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |