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 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 answer |= 1u << VFP3 | 1u << ARMv7; | 73 answer |= 1u << VFP3 | 1u << ARMv7; |
74 #endif // defined(CAN_USE_ARMV7_INSTRUCTIONS) && defined(__VFP_FP__) | 74 #endif // defined(CAN_USE_ARMV7_INSTRUCTIONS) && defined(__VFP_FP__) |
75 // && !defined(__SOFTFP__) | 75 // && !defined(__SOFTFP__) |
76 #endif // def __arm__ | 76 #endif // def __arm__ |
77 | 77 |
78 return answer; | 78 return answer; |
79 } | 79 } |
80 | 80 |
81 | 81 |
82 void CpuFeatures::Probe() { | 82 void CpuFeatures::Probe() { |
83 unsigned standard_features = (OS::CpuFeaturesImpliedByPlatform() | | 83 unsigned standard_features = static_cast<unsigned>( |
84 CpuFeaturesImpliedByCompiler()); | 84 OS::CpuFeaturesImpliedByPlatform() | CpuFeaturesImpliedByCompiler()); |
85 ASSERT(supported_ == 0 || supported_ == standard_features); | 85 ASSERT(supported_ == 0 || supported_ == standard_features); |
86 #ifdef DEBUG | 86 #ifdef DEBUG |
87 initialized_ = true; | 87 initialized_ = true; |
88 #endif | 88 #endif |
89 | 89 |
90 // Get the features implied by the OS and the compiler settings. This is the | 90 // Get the features implied by the OS and the compiler settings. This is the |
91 // minimal set of features which is also alowed for generated code in the | 91 // minimal set of features which is also alowed for generated code in the |
92 // snapshot. | 92 // snapshot. |
93 supported_ |= standard_features; | 93 supported_ |= standard_features; |
94 | 94 |
(...skipping 644 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
739 if (CpuFeatures::IsSupported(ARMv7)) { | 739 if (CpuFeatures::IsSupported(ARMv7)) { |
740 if (imm32 < 0x10000) { | 740 if (imm32 < 0x10000) { |
741 *instr ^= kMovwLeaveCCFlip; | 741 *instr ^= kMovwLeaveCCFlip; |
742 *instr |= EncodeMovwImmediate(imm32); | 742 *instr |= EncodeMovwImmediate(imm32); |
743 *rotate_imm = *immed_8 = 0; // Not used for movw. | 743 *rotate_imm = *immed_8 = 0; // Not used for movw. |
744 return true; | 744 return true; |
745 } | 745 } |
746 } | 746 } |
747 } | 747 } |
748 } else if ((*instr & kCmpCmnMask) == kCmpCmnPattern) { | 748 } else if ((*instr & kCmpCmnMask) == kCmpCmnPattern) { |
749 if (fits_shifter(-imm32, rotate_imm, immed_8, NULL)) { | 749 if (fits_shifter(-static_cast<int>(imm32), rotate_imm, immed_8, NULL)) { |
750 *instr ^= kCmpCmnFlip; | 750 *instr ^= kCmpCmnFlip; |
751 return true; | 751 return true; |
752 } | 752 } |
753 } else { | 753 } else { |
754 Instr alu_insn = (*instr & kALUMask); | 754 Instr alu_insn = (*instr & kALUMask); |
755 if (alu_insn == ADD || | 755 if (alu_insn == ADD || |
756 alu_insn == SUB) { | 756 alu_insn == SUB) { |
757 if (fits_shifter(-imm32, rotate_imm, immed_8, NULL)) { | 757 if (fits_shifter(-static_cast<int>(imm32), rotate_imm, immed_8, NULL)) { |
758 *instr ^= kAddSubFlip; | 758 *instr ^= kAddSubFlip; |
759 return true; | 759 return true; |
760 } | 760 } |
761 } else if (alu_insn == AND || | 761 } else if (alu_insn == AND || |
762 alu_insn == BIC) { | 762 alu_insn == BIC) { |
763 if (fits_shifter(~imm32, rotate_imm, immed_8, NULL)) { | 763 if (fits_shifter(~imm32, rotate_imm, immed_8, NULL)) { |
764 *instr ^= kAndBicFlip; | 764 *instr ^= kAndBicFlip; |
765 return true; | 765 return true; |
766 } | 766 } |
767 } | 767 } |
(...skipping 1901 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2669 | 2669 |
2670 // Since a constant pool was just emitted, move the check offset forward by | 2670 // Since a constant pool was just emitted, move the check offset forward by |
2671 // the standard interval. | 2671 // the standard interval. |
2672 next_buffer_check_ = pc_offset() + kCheckPoolInterval; | 2672 next_buffer_check_ = pc_offset() + kCheckPoolInterval; |
2673 } | 2673 } |
2674 | 2674 |
2675 | 2675 |
2676 } } // namespace v8::internal | 2676 } } // namespace v8::internal |
2677 | 2677 |
2678 #endif // V8_TARGET_ARCH_ARM | 2678 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |