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 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 static bool IsSupported(CpuFeature f) { | 68 static bool IsSupported(CpuFeature f) { |
69 ASSERT(initialized_); | 69 ASSERT(initialized_); |
70 return Check(f, supported_); | 70 return Check(f, supported_); |
71 } | 71 } |
72 | 72 |
73 static bool IsFoundByRuntimeProbingOnly(CpuFeature f) { | 73 static bool IsFoundByRuntimeProbingOnly(CpuFeature f) { |
74 ASSERT(initialized_); | 74 ASSERT(initialized_); |
75 return Check(f, found_by_runtime_probing_only_); | 75 return Check(f, found_by_runtime_probing_only_); |
76 } | 76 } |
77 | 77 |
78 static bool IsSafeForSnapshot(CpuFeature f) { | 78 static bool IsSafeForSnapshot(Isolate* isolate, CpuFeature f) { |
79 return Check(f, cross_compile_) || | 79 return Check(f, cross_compile_) || |
80 (IsSupported(f) && | 80 (IsSupported(f) && |
81 (!Serializer::enabled() || !IsFoundByRuntimeProbingOnly(f))); | 81 (!Serializer::enabled(isolate) || !IsFoundByRuntimeProbingOnly(f))); |
82 } | 82 } |
83 | 83 |
84 static unsigned cache_line_size() { return cache_line_size_; } | 84 static unsigned cache_line_size() { return cache_line_size_; } |
85 | 85 |
86 static bool VerifyCrossCompiling() { | 86 static bool VerifyCrossCompiling() { |
87 return cross_compile_ == 0; | 87 return cross_compile_ == 0; |
88 } | 88 } |
89 | 89 |
90 static bool VerifyCrossCompiling(CpuFeature f) { | 90 static bool VerifyCrossCompiling(CpuFeature f) { |
91 unsigned mask = flag2set(f); | 91 unsigned mask = flag2set(f); |
(...skipping 493 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
585 explicit Operand(Register rm, ShiftOp shift_op, Register rs); | 585 explicit Operand(Register rm, ShiftOp shift_op, Register rs); |
586 | 586 |
587 // Return true if this is a register operand. | 587 // Return true if this is a register operand. |
588 INLINE(bool is_reg() const); | 588 INLINE(bool is_reg() const); |
589 | 589 |
590 // Return true if this operand fits in one instruction so that no | 590 // Return true if this operand fits in one instruction so that no |
591 // 2-instruction solution with a load into the ip register is necessary. If | 591 // 2-instruction solution with a load into the ip register is necessary. If |
592 // the instruction this operand is used for is a MOV or MVN instruction the | 592 // the instruction this operand is used for is a MOV or MVN instruction the |
593 // actual instruction to use is required for this calculation. For other | 593 // actual instruction to use is required for this calculation. For other |
594 // instructions instr is ignored. | 594 // instructions instr is ignored. |
595 bool is_single_instruction(const Assembler* assembler, Instr instr = 0) const; | 595 bool is_single_instruction(Isolate* isolate, |
596 bool must_output_reloc_info(const Assembler* assembler) const; | 596 const Assembler* assembler, |
| 597 Instr instr = 0) const; |
| 598 bool must_output_reloc_info(Isolate* isolate, |
| 599 const Assembler* assembler) const; |
597 | 600 |
598 inline int32_t immediate() const { | 601 inline int32_t immediate() const { |
599 ASSERT(!rm_.is_valid()); | 602 ASSERT(!rm_.is_valid()); |
600 return imm32_; | 603 return imm32_; |
601 } | 604 } |
602 | 605 |
603 Register rm() const { return rm_; } | 606 Register rm() const { return rm_; } |
604 Register rs() const { return rs_; } | 607 Register rs() const { return rs_; } |
605 ShiftOp shift_op() const { return shift_op_; } | 608 ShiftOp shift_op() const { return shift_op_; } |
606 | 609 |
(...skipping 1086 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1693 public: | 1696 public: |
1694 explicit EnsureSpace(Assembler* assembler) { | 1697 explicit EnsureSpace(Assembler* assembler) { |
1695 assembler->CheckBuffer(); | 1698 assembler->CheckBuffer(); |
1696 } | 1699 } |
1697 }; | 1700 }; |
1698 | 1701 |
1699 | 1702 |
1700 } } // namespace v8::internal | 1703 } } // namespace v8::internal |
1701 | 1704 |
1702 #endif // V8_ARM_ASSEMBLER_ARM_H_ | 1705 #endif // V8_ARM_ASSEMBLER_ARM_H_ |
OLD | NEW |