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

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

Issue 11659022: Generate the TransitionElementsStub using Crankshaft (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Address review feedback Created 7 years, 10 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 | « no previous file | src/arm/code-stubs-arm.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 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 284 matching lines...) Expand 10 before | Expand all | Expand 10 after
295 *m = code_ & 0x1; 295 *m = code_ & 0x1;
296 *vm = code_ >> 1; 296 *vm = code_ >> 1;
297 } 297 }
298 298
299 int code_; 299 int code_;
300 }; 300 };
301 301
302 302
303 // Double word VFP register. 303 // Double word VFP register.
304 struct DwVfpRegister { 304 struct DwVfpRegister {
305 static const int kNumRegisters = 32; 305 static const int kMaxNumRegisters = 32;
306 // A few double registers are reserved: one as a scratch register and one to 306 // A few double registers are reserved: one as a scratch register and one to
307 // hold 0.0, that does not fit in the immediate field of vmov instructions. 307 // hold 0.0, that does not fit in the immediate field of vmov instructions.
308 // d14: 0.0 308 // d14: 0.0
309 // d15: scratch register. 309 // d15: scratch register.
310 static const int kNumReservedRegisters = 2; 310 static const int kNumReservedRegisters = 2;
311 static const int kMaxNumAllocatableRegisters = kNumRegisters - 311 static const int kMaxNumAllocatableRegisters = kMaxNumRegisters -
312 kNumReservedRegisters; 312 kNumReservedRegisters;
313 313
314 // Note: the number of registers can be different at snapshot and run-time. 314 // Note: the number of registers can be different at snapshot and run-time.
315 // Any code included in the snapshot must be able to run both with 16 or 32 315 // Any code included in the snapshot must be able to run both with 16 or 32
316 // registers. 316 // registers.
317 inline static int NumRegisters(); 317 inline static int NumRegisters();
318 inline static int NumAllocatableRegisters(); 318 inline static int NumAllocatableRegisters();
319 319
320 inline static int ToAllocationIndex(DwVfpRegister reg); 320 inline static int ToAllocationIndex(DwVfpRegister reg);
321 static const char* AllocationIndexToString(int index); 321 static const char* AllocationIndexToString(int index);
322 inline static DwVfpRegister FromAllocationIndex(int index); 322 inline static DwVfpRegister FromAllocationIndex(int index);
323 323
324 static DwVfpRegister from_code(int code) { 324 static DwVfpRegister from_code(int code) {
325 DwVfpRegister r = { code }; 325 DwVfpRegister r = { code };
326 return r; 326 return r;
327 } 327 }
328 328
329 bool is_valid() const { 329 bool is_valid() const {
330 return 0 <= code_ && code_ < kNumRegisters; 330 return 0 <= code_ && code_ < kMaxNumRegisters;
331 } 331 }
332 bool is(DwVfpRegister reg) const { return code_ == reg.code_; } 332 bool is(DwVfpRegister reg) const { return code_ == reg.code_; }
333 SwVfpRegister low() const { 333 SwVfpRegister low() const {
334 ASSERT(code_ < 16); 334 ASSERT(code_ < 16);
335 SwVfpRegister reg; 335 SwVfpRegister reg;
336 reg.code_ = code_ * 2; 336 reg.code_ = code_ * 2;
337 337
338 ASSERT(reg.is_valid()); 338 ASSERT(reg.is_valid());
339 return reg; 339 return reg;
340 } 340 }
(...skipping 1161 matching lines...) Expand 10 before | Expand all | Expand 10 after
1502 public: 1502 public:
1503 explicit EnsureSpace(Assembler* assembler) { 1503 explicit EnsureSpace(Assembler* assembler) {
1504 assembler->CheckBuffer(); 1504 assembler->CheckBuffer();
1505 } 1505 }
1506 }; 1506 };
1507 1507
1508 1508
1509 } } // namespace v8::internal 1509 } } // namespace v8::internal
1510 1510
1511 #endif // V8_ARM_ASSEMBLER_ARM_H_ 1511 #endif // V8_ARM_ASSEMBLER_ARM_H_
OLDNEW
« no previous file with comments | « no previous file | src/arm/code-stubs-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698