| 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 493 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 504 public: | 504 public: |
| 505 // Detect features of the target CPU. Set safe defaults if the serializer | 505 // Detect features of the target CPU. Set safe defaults if the serializer |
| 506 // is enabled (snapshots must be portable). | 506 // is enabled (snapshots must be portable). |
| 507 static void Probe(); | 507 static void Probe(); |
| 508 | 508 |
| 509 // Check whether a feature is supported by the target CPU. | 509 // Check whether a feature is supported by the target CPU. |
| 510 static bool IsSupported(CpuFeature f) { | 510 static bool IsSupported(CpuFeature f) { |
| 511 ASSERT(initialized_); | 511 ASSERT(initialized_); |
| 512 if (f == VFP3 && !FLAG_enable_vfp3) return false; | 512 if (f == VFP3 && !FLAG_enable_vfp3) return false; |
| 513 if (f == VFP2 && !FLAG_enable_vfp2) return false; | 513 if (f == VFP2 && !FLAG_enable_vfp2) return false; |
| 514 if (f == SUDIV && !FLAG_enable_sudiv) return false; |
| 514 return (supported_ & (1u << f)) != 0; | 515 return (supported_ & (1u << f)) != 0; |
| 515 } | 516 } |
| 516 | 517 |
| 517 #ifdef DEBUG | 518 #ifdef DEBUG |
| 518 // Check whether a feature is currently enabled. | 519 // Check whether a feature is currently enabled. |
| 519 static bool IsEnabled(CpuFeature f) { | 520 static bool IsEnabled(CpuFeature f) { |
| 520 ASSERT(initialized_); | 521 ASSERT(initialized_); |
| 521 Isolate* isolate = Isolate::UncheckedCurrent(); | 522 Isolate* isolate = Isolate::UncheckedCurrent(); |
| 522 if (isolate == NULL) { | 523 if (isolate == NULL) { |
| 523 // When no isolate is available, work as if we're running in | 524 // When no isolate is available, work as if we're running in |
| (...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 862 SBit s = LeaveCC, Condition cond = al); | 863 SBit s = LeaveCC, Condition cond = al); |
| 863 | 864 |
| 864 void mvn(Register dst, const Operand& src, | 865 void mvn(Register dst, const Operand& src, |
| 865 SBit s = LeaveCC, Condition cond = al); | 866 SBit s = LeaveCC, Condition cond = al); |
| 866 | 867 |
| 867 // Multiply instructions | 868 // Multiply instructions |
| 868 | 869 |
| 869 void mla(Register dst, Register src1, Register src2, Register srcA, | 870 void mla(Register dst, Register src1, Register src2, Register srcA, |
| 870 SBit s = LeaveCC, Condition cond = al); | 871 SBit s = LeaveCC, Condition cond = al); |
| 871 | 872 |
| 873 void mls(Register dst, Register src1, Register src2, Register srcA, |
| 874 Condition cond = al); |
| 875 |
| 876 void sdiv(Register dst, Register src1, Register src2, |
| 877 Condition cond = al); |
| 878 |
| 872 void mul(Register dst, Register src1, Register src2, | 879 void mul(Register dst, Register src1, Register src2, |
| 873 SBit s = LeaveCC, Condition cond = al); | 880 SBit s = LeaveCC, Condition cond = al); |
| 874 | 881 |
| 875 void smlal(Register dstL, Register dstH, Register src1, Register src2, | 882 void smlal(Register dstL, Register dstH, Register src1, Register src2, |
| 876 SBit s = LeaveCC, Condition cond = al); | 883 SBit s = LeaveCC, Condition cond = al); |
| 877 | 884 |
| 878 void smull(Register dstL, Register dstH, Register src1, Register src2, | 885 void smull(Register dstL, Register dstH, Register src1, Register src2, |
| 879 SBit s = LeaveCC, Condition cond = al); | 886 SBit s = LeaveCC, Condition cond = al); |
| 880 | 887 |
| 881 void umlal(Register dstL, Register dstH, Register src1, Register src2, | 888 void umlal(Register dstL, Register dstH, Register src1, Register src2, |
| (...skipping 585 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1467 public: | 1474 public: |
| 1468 explicit EnsureSpace(Assembler* assembler) { | 1475 explicit EnsureSpace(Assembler* assembler) { |
| 1469 assembler->CheckBuffer(); | 1476 assembler->CheckBuffer(); |
| 1470 } | 1477 } |
| 1471 }; | 1478 }; |
| 1472 | 1479 |
| 1473 | 1480 |
| 1474 } } // namespace v8::internal | 1481 } } // namespace v8::internal |
| 1475 | 1482 |
| 1476 #endif // V8_ARM_ASSEMBLER_ARM_H_ | 1483 #endif // V8_ARM_ASSEMBLER_ARM_H_ |
| OLD | NEW |