OLD | NEW |
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 5218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5229 // cache is passed to the stub. | 5229 // cache is passed to the stub. |
5230 inline bool has_function_cache(); | 5230 inline bool has_function_cache(); |
5231 inline void set_has_function_cache(bool flag); | 5231 inline void set_has_function_cache(bool flag); |
5232 | 5232 |
5233 | 5233 |
5234 // [marked_for_deoptimization]: For kind OPTIMIZED_FUNCTION tells whether | 5234 // [marked_for_deoptimization]: For kind OPTIMIZED_FUNCTION tells whether |
5235 // the code is going to be deoptimized because of dead embedded maps. | 5235 // the code is going to be deoptimized because of dead embedded maps. |
5236 inline bool marked_for_deoptimization(); | 5236 inline bool marked_for_deoptimization(); |
5237 inline void set_marked_for_deoptimization(bool flag); | 5237 inline void set_marked_for_deoptimization(bool flag); |
5238 | 5238 |
| 5239 // [constant_pool]: The constant pool for this function. |
| 5240 inline ConstantPoolArray* constant_pool(); |
| 5241 inline void set_constant_pool(Object* constant_pool); |
| 5242 |
5239 // Get the safepoint entry for the given pc. | 5243 // Get the safepoint entry for the given pc. |
5240 SafepointEntry GetSafepointEntry(Address pc); | 5244 SafepointEntry GetSafepointEntry(Address pc); |
5241 | 5245 |
5242 // Find an object in a stub with a specified map | 5246 // Find an object in a stub with a specified map |
5243 Object* FindNthObject(int n, Map* match_map); | 5247 Object* FindNthObject(int n, Map* match_map); |
5244 void ReplaceNthObject(int n, Map* match_map, Object* replace_with); | 5248 void ReplaceNthObject(int n, Map* match_map, Object* replace_with); |
5245 | 5249 |
5246 // Find the first map in an IC stub. | 5250 // Find the first map in an IC stub. |
5247 Map* FindFirstMap(); | 5251 Map* FindFirstMap(); |
5248 void FindAllMaps(MapHandleList* maps); | 5252 void FindAllMaps(MapHandleList* maps); |
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5423 static const int kNextCodeLinkOffset = kTypeFeedbackInfoOffset; // Shared. | 5427 static const int kNextCodeLinkOffset = kTypeFeedbackInfoOffset; // Shared. |
5424 static const int kGCMetadataOffset = kTypeFeedbackInfoOffset + kPointerSize; | 5428 static const int kGCMetadataOffset = kTypeFeedbackInfoOffset + kPointerSize; |
5425 static const int kICAgeOffset = | 5429 static const int kICAgeOffset = |
5426 kGCMetadataOffset + kPointerSize; | 5430 kGCMetadataOffset + kPointerSize; |
5427 static const int kFlagsOffset = kICAgeOffset + kIntSize; | 5431 static const int kFlagsOffset = kICAgeOffset + kIntSize; |
5428 static const int kKindSpecificFlags1Offset = kFlagsOffset + kIntSize; | 5432 static const int kKindSpecificFlags1Offset = kFlagsOffset + kIntSize; |
5429 static const int kKindSpecificFlags2Offset = | 5433 static const int kKindSpecificFlags2Offset = |
5430 kKindSpecificFlags1Offset + kIntSize; | 5434 kKindSpecificFlags1Offset + kIntSize; |
5431 // Note: We might be able to squeeze this into the flags above. | 5435 // Note: We might be able to squeeze this into the flags above. |
5432 static const int kPrologueOffset = kKindSpecificFlags2Offset + kIntSize; | 5436 static const int kPrologueOffset = kKindSpecificFlags2Offset + kIntSize; |
| 5437 static const int kConstantPoolOffset = kPrologueOffset + kPointerSize; |
5433 | 5438 |
5434 static const int kHeaderPaddingStart = kPrologueOffset + kIntSize; | 5439 static const int kHeaderPaddingStart = kConstantPoolOffset + kIntSize; |
5435 | 5440 |
5436 // Add padding to align the instruction start following right after | 5441 // Add padding to align the instruction start following right after |
5437 // the Code object header. | 5442 // the Code object header. |
5438 static const int kHeaderSize = | 5443 static const int kHeaderSize = |
5439 (kHeaderPaddingStart + kCodeAlignmentMask) & ~kCodeAlignmentMask; | 5444 (kHeaderPaddingStart + kCodeAlignmentMask) & ~kCodeAlignmentMask; |
5440 | 5445 |
5441 // Byte offsets within kKindSpecificFlags1Offset. | 5446 // Byte offsets within kKindSpecificFlags1Offset. |
5442 static const int kOptimizableOffset = kKindSpecificFlags1Offset; | 5447 static const int kOptimizableOffset = kKindSpecificFlags1Offset; |
5443 static const int kCheckTypeOffset = kKindSpecificFlags1Offset; | 5448 static const int kCheckTypeOffset = kKindSpecificFlags1Offset; |
5444 | 5449 |
(...skipping 5172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10617 } else { | 10622 } else { |
10618 value &= ~(1 << bit_position); | 10623 value &= ~(1 << bit_position); |
10619 } | 10624 } |
10620 return value; | 10625 return value; |
10621 } | 10626 } |
10622 }; | 10627 }; |
10623 | 10628 |
10624 } } // namespace v8::internal | 10629 } } // namespace v8::internal |
10625 | 10630 |
10626 #endif // V8_OBJECTS_H_ | 10631 #endif // V8_OBJECTS_H_ |
OLD | NEW |