Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(363)

Side by Side Diff: src/arm64/assembler-arm64-inl.h

Issue 268353005: ARM64: Fix and improve MacroAssembler::Printf. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Reorganise Simulator::DoPrintf as suggested. Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/arm64/assembler-arm64.h ('k') | src/arm64/instructions-arm64.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_ARM64_ASSEMBLER_ARM64_INL_H_ 5 #ifndef V8_ARM64_ASSEMBLER_ARM64_INL_H_
6 #define V8_ARM64_ASSEMBLER_ARM64_INL_H_ 6 #define V8_ARM64_ASSEMBLER_ARM64_INL_H_
7 7
8 #include "arm64/assembler-arm64.h" 8 #include "arm64/assembler-arm64.h"
9 #include "cpu.h" 9 #include "cpu.h"
10 #include "debug.h" 10 #include "debug.h"
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 // kNoRegister types should always have size 0 and code 0. 102 // kNoRegister types should always have size 0 and code 0.
103 ASSERT((reg_type != kNoRegister) || (reg_code == 0)); 103 ASSERT((reg_type != kNoRegister) || (reg_code == 0));
104 ASSERT((reg_type != kNoRegister) || (reg_size == 0)); 104 ASSERT((reg_type != kNoRegister) || (reg_size == 0));
105 105
106 return reg_type == kNoRegister; 106 return reg_type == kNoRegister;
107 } 107 }
108 108
109 109
110 inline bool CPURegister::Is(const CPURegister& other) const { 110 inline bool CPURegister::Is(const CPURegister& other) const {
111 ASSERT(IsValidOrNone() && other.IsValidOrNone()); 111 ASSERT(IsValidOrNone() && other.IsValidOrNone());
112 return (reg_code == other.reg_code) && (reg_size == other.reg_size) && 112 return Aliases(other) && (reg_size == other.reg_size);
113 (reg_type == other.reg_type);
114 } 113 }
115 114
116 115
116 inline bool CPURegister::Aliases(const CPURegister& other) const {
117 ASSERT(IsValidOrNone() && other.IsValidOrNone());
118 return (reg_code == other.reg_code) && (reg_type == other.reg_type);
119 }
120
121
117 inline bool CPURegister::IsRegister() const { 122 inline bool CPURegister::IsRegister() const {
118 return reg_type == kRegister; 123 return reg_type == kRegister;
119 } 124 }
120 125
121 126
122 inline bool CPURegister::IsFPRegister() const { 127 inline bool CPURegister::IsFPRegister() const {
123 return reg_type == kFPRegister; 128 return reg_type == kFPRegister;
124 } 129 }
125 130
126 131
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 193
189 194
190 inline void CPURegList::Remove(int code) { 195 inline void CPURegList::Remove(int code) {
191 ASSERT(IsValid()); 196 ASSERT(IsValid());
192 ASSERT(CPURegister::Create(code, size_, type_).IsValid()); 197 ASSERT(CPURegister::Create(code, size_, type_).IsValid());
193 list_ &= ~(1UL << code); 198 list_ &= ~(1UL << code);
194 } 199 }
195 200
196 201
197 inline Register Register::XRegFromCode(unsigned code) { 202 inline Register Register::XRegFromCode(unsigned code) {
198 // This function returns the zero register when code = 31. The stack pointer 203 if (code == kSPRegInternalCode) {
199 // can not be returned. 204 return csp;
200 ASSERT(code < kNumberOfRegisters); 205 } else {
201 return Register::Create(code, kXRegSizeInBits); 206 ASSERT(code < kNumberOfRegisters);
207 return Register::Create(code, kXRegSizeInBits);
208 }
202 } 209 }
203 210
204 211
205 inline Register Register::WRegFromCode(unsigned code) { 212 inline Register Register::WRegFromCode(unsigned code) {
206 ASSERT(code < kNumberOfRegisters); 213 if (code == kSPRegInternalCode) {
207 return Register::Create(code, kWRegSizeInBits); 214 return wcsp;
215 } else {
216 ASSERT(code < kNumberOfRegisters);
217 return Register::Create(code, kWRegSizeInBits);
218 }
208 } 219 }
209 220
210 221
211 inline FPRegister FPRegister::SRegFromCode(unsigned code) { 222 inline FPRegister FPRegister::SRegFromCode(unsigned code) {
212 ASSERT(code < kNumberOfFPRegisters); 223 ASSERT(code < kNumberOfFPRegisters);
213 return FPRegister::Create(code, kSRegSizeInBits); 224 return FPRegister::Create(code, kSRegSizeInBits);
214 } 225 }
215 226
216 227
217 inline FPRegister FPRegister::DRegFromCode(unsigned code) { 228 inline FPRegister FPRegister::DRegFromCode(unsigned code) {
(...skipping 985 matching lines...) Expand 10 before | Expand all | Expand 10 after
1203 1214
1204 1215
1205 void Assembler::ClearRecordedAstId() { 1216 void Assembler::ClearRecordedAstId() {
1206 recorded_ast_id_ = TypeFeedbackId::None(); 1217 recorded_ast_id_ = TypeFeedbackId::None();
1207 } 1218 }
1208 1219
1209 1220
1210 } } // namespace v8::internal 1221 } } // namespace v8::internal
1211 1222
1212 #endif // V8_ARM64_ASSEMBLER_ARM64_INL_H_ 1223 #endif // V8_ARM64_ASSEMBLER_ARM64_INL_H_
OLDNEW
« no previous file with comments | « src/arm64/assembler-arm64.h ('k') | src/arm64/instructions-arm64.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698