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

Side by Side Diff: src/objects.h

Issue 194793002: [v8-dev] ARM: safepoints frame optimization (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 9 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
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 5229 matching lines...) Expand 10 before | Expand all | Expand 10 after
5240 // [ic_age]: Inline caching age: the value of the Heap::global_ic_age 5240 // [ic_age]: Inline caching age: the value of the Heap::global_ic_age
5241 // at the moment when this object was created. 5241 // at the moment when this object was created.
5242 inline void set_ic_age(int count); 5242 inline void set_ic_age(int count);
5243 inline int ic_age(); 5243 inline int ic_age();
5244 5244
5245 // [prologue_offset]: Offset of the function prologue, used for aging 5245 // [prologue_offset]: Offset of the function prologue, used for aging
5246 // FUNCTIONs and OPTIMIZED_FUNCTIONs. 5246 // FUNCTIONs and OPTIMIZED_FUNCTIONs.
5247 inline int prologue_offset(); 5247 inline int prologue_offset();
5248 inline void set_prologue_offset(int offset); 5248 inline void set_prologue_offset(int offset);
5249 5249
5250 #if V8_TARGET_ARCH_ARM
5251 inline RegList registers_mask();
5252 inline void set_registers_mask(RegList mask);
5253 inline RegList double_registers_mask();
5254 inline void set_double_registers_mask(RegList mask);
5255 #endif
5256
5250 // Unchecked accessors to be used during GC. 5257 // Unchecked accessors to be used during GC.
5251 inline ByteArray* unchecked_relocation_info(); 5258 inline ByteArray* unchecked_relocation_info();
5252 5259
5253 inline int relocation_size(); 5260 inline int relocation_size();
5254 5261
5255 // [flags]: Various code flags. 5262 // [flags]: Various code flags.
5256 inline Flags flags(); 5263 inline Flags flags();
5257 inline void set_flags(Flags flags); 5264 inline void set_flags(Flags flags);
5258 5265
5259 // [flags]: Access to specific code flags. 5266 // [flags]: Access to specific code flags.
(...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after
5553 static const int kICAgeOffset = 5560 static const int kICAgeOffset =
5554 kGCMetadataOffset + kPointerSize; 5561 kGCMetadataOffset + kPointerSize;
5555 static const int kFlagsOffset = kICAgeOffset + kIntSize; 5562 static const int kFlagsOffset = kICAgeOffset + kIntSize;
5556 static const int kKindSpecificFlags1Offset = kFlagsOffset + kIntSize; 5563 static const int kKindSpecificFlags1Offset = kFlagsOffset + kIntSize;
5557 static const int kKindSpecificFlags2Offset = 5564 static const int kKindSpecificFlags2Offset =
5558 kKindSpecificFlags1Offset + kIntSize; 5565 kKindSpecificFlags1Offset + kIntSize;
5559 // Note: We might be able to squeeze this into the flags above. 5566 // Note: We might be able to squeeze this into the flags above.
5560 static const int kPrologueOffset = kKindSpecificFlags2Offset + kIntSize; 5567 static const int kPrologueOffset = kKindSpecificFlags2Offset + kIntSize;
5561 static const int kConstantPoolOffset = kPrologueOffset + kPointerSize; 5568 static const int kConstantPoolOffset = kPrologueOffset + kPointerSize;
5562 5569
5570 #if V8_TARGET_ARCH_ARM
5571 static const int kCoresMaskOffset = kConstantPoolOffset + kIntSize;
5572 static const int kDoublesMaskOffset = kCoresMaskOffset + kRegListSize;
5573 static const int kHeaderPaddingStart = kDoublesMaskOffset + kRegListSize;
5574 #else
5563 static const int kHeaderPaddingStart = kConstantPoolOffset + kIntSize; 5575 static const int kHeaderPaddingStart = kConstantPoolOffset + kIntSize;
5576 #endif
5564 5577
5565 // Add padding to align the instruction start following right after 5578 // Add padding to align the instruction start following right after
5566 // the Code object header. 5579 // the Code object header.
5567 static const int kHeaderSize = 5580 static const int kHeaderSize =
5568 (kHeaderPaddingStart + kCodeAlignmentMask) & ~kCodeAlignmentMask; 5581 (kHeaderPaddingStart + kCodeAlignmentMask) & ~kCodeAlignmentMask;
5569 5582
5570 // Byte offsets within kKindSpecificFlags1Offset. 5583 // Byte offsets within kKindSpecificFlags1Offset.
5571 static const int kOptimizableOffset = kKindSpecificFlags1Offset; 5584 static const int kOptimizableOffset = kKindSpecificFlags1Offset;
5572 5585
5573 static const int kFullCodeFlags = kOptimizableOffset + 1; 5586 static const int kFullCodeFlags = kOptimizableOffset + 1;
(...skipping 5223 matching lines...) Expand 10 before | Expand all | Expand 10 after
10797 } else { 10810 } else {
10798 value &= ~(1 << bit_position); 10811 value &= ~(1 << bit_position);
10799 } 10812 }
10800 return value; 10813 return value;
10801 } 10814 }
10802 }; 10815 };
10803 10816
10804 } } // namespace v8::internal 10817 } } // namespace v8::internal
10805 10818
10806 #endif // V8_OBJECTS_H_ 10819 #endif // V8_OBJECTS_H_
OLDNEW
« src/arm/assembler-arm.h ('K') | « src/lithium-allocator-inl.h ('k') | src/objects-inl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698