| 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 |