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

Side by Side Diff: src/ia32/assembler-ia32.h

Issue 22290005: Move ToI conversions to the MacroAssembler (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: address review Created 7 years, 3 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/hydrogen-instructions.h ('k') | src/ia32/code-stubs-ia32.cc » ('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 (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 are 5 // modification, are permitted provided that the following conditions are
6 // met: 6 // 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 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 176
177 177
178 const IntelDoubleRegister double_register_0 = { 0 }; 178 const IntelDoubleRegister double_register_0 = { 0 };
179 const IntelDoubleRegister double_register_1 = { 1 }; 179 const IntelDoubleRegister double_register_1 = { 1 };
180 const IntelDoubleRegister double_register_2 = { 2 }; 180 const IntelDoubleRegister double_register_2 = { 2 };
181 const IntelDoubleRegister double_register_3 = { 3 }; 181 const IntelDoubleRegister double_register_3 = { 3 };
182 const IntelDoubleRegister double_register_4 = { 4 }; 182 const IntelDoubleRegister double_register_4 = { 4 };
183 const IntelDoubleRegister double_register_5 = { 5 }; 183 const IntelDoubleRegister double_register_5 = { 5 };
184 const IntelDoubleRegister double_register_6 = { 6 }; 184 const IntelDoubleRegister double_register_6 = { 6 };
185 const IntelDoubleRegister double_register_7 = { 7 }; 185 const IntelDoubleRegister double_register_7 = { 7 };
186 const IntelDoubleRegister no_double_reg = { -1 };
186 187
187 188
188 struct XMMRegister : IntelDoubleRegister { 189 struct XMMRegister : IntelDoubleRegister {
189 static const int kNumAllocatableRegisters = 7; 190 static const int kNumAllocatableRegisters = 7;
190 static const int kNumRegisters = 8; 191 static const int kNumRegisters = 8;
191 192
192 static XMMRegister from_code(int code) { 193 static XMMRegister from_code(int code) {
193 STATIC_ASSERT(sizeof(XMMRegister) == sizeof(IntelDoubleRegister)); 194 STATIC_ASSERT(sizeof(XMMRegister) == sizeof(IntelDoubleRegister));
194 XMMRegister result; 195 XMMRegister result;
195 result.code_ = code; 196 result.code_ = code;
(...skipping 24 matching lines...) Expand all
220 221
221 222
222 #define xmm0 (static_cast<const XMMRegister&>(double_register_0)) 223 #define xmm0 (static_cast<const XMMRegister&>(double_register_0))
223 #define xmm1 (static_cast<const XMMRegister&>(double_register_1)) 224 #define xmm1 (static_cast<const XMMRegister&>(double_register_1))
224 #define xmm2 (static_cast<const XMMRegister&>(double_register_2)) 225 #define xmm2 (static_cast<const XMMRegister&>(double_register_2))
225 #define xmm3 (static_cast<const XMMRegister&>(double_register_3)) 226 #define xmm3 (static_cast<const XMMRegister&>(double_register_3))
226 #define xmm4 (static_cast<const XMMRegister&>(double_register_4)) 227 #define xmm4 (static_cast<const XMMRegister&>(double_register_4))
227 #define xmm5 (static_cast<const XMMRegister&>(double_register_5)) 228 #define xmm5 (static_cast<const XMMRegister&>(double_register_5))
228 #define xmm6 (static_cast<const XMMRegister&>(double_register_6)) 229 #define xmm6 (static_cast<const XMMRegister&>(double_register_6))
229 #define xmm7 (static_cast<const XMMRegister&>(double_register_7)) 230 #define xmm7 (static_cast<const XMMRegister&>(double_register_7))
231 #define no_xmm_reg (static_cast<const XMMRegister&>(no_double_reg))
230 232
231 233
232 struct X87Register : IntelDoubleRegister { 234 struct X87Register : IntelDoubleRegister {
233 static const int kNumAllocatableRegisters = 5; 235 static const int kNumAllocatableRegisters = 5;
234 static const int kNumRegisters = 5; 236 static const int kNumRegisters = 5;
235 237
236 bool is(X87Register reg) const { 238 bool is(X87Register reg) const {
237 return code_ == reg.code_; 239 return code_ == reg.code_;
238 } 240 }
239 241
(...skipping 991 matching lines...) Expand 10 before | Expand all | Expand 10 after
1231 private: 1233 private:
1232 Assembler* assembler_; 1234 Assembler* assembler_;
1233 #ifdef DEBUG 1235 #ifdef DEBUG
1234 int space_before_; 1236 int space_before_;
1235 #endif 1237 #endif
1236 }; 1238 };
1237 1239
1238 } } // namespace v8::internal 1240 } } // namespace v8::internal
1239 1241
1240 #endif // V8_IA32_ASSEMBLER_IA32_H_ 1242 #endif // V8_IA32_ASSEMBLER_IA32_H_
OLDNEW
« no previous file with comments | « src/hydrogen-instructions.h ('k') | src/ia32/code-stubs-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698