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 5207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5218 // cache is passed to the stub. | 5218 // cache is passed to the stub. |
5219 inline bool has_function_cache(); | 5219 inline bool has_function_cache(); |
5220 inline void set_has_function_cache(bool flag); | 5220 inline void set_has_function_cache(bool flag); |
5221 | 5221 |
5222 | 5222 |
5223 // [marked_for_deoptimization]: For kind OPTIMIZED_FUNCTION tells whether | 5223 // [marked_for_deoptimization]: For kind OPTIMIZED_FUNCTION tells whether |
5224 // the code is going to be deoptimized because of dead embedded maps. | 5224 // the code is going to be deoptimized because of dead embedded maps. |
5225 inline bool marked_for_deoptimization(); | 5225 inline bool marked_for_deoptimization(); |
5226 inline void set_marked_for_deoptimization(bool flag); | 5226 inline void set_marked_for_deoptimization(bool flag); |
5227 | 5227 |
| 5228 // [constant_pool]: The constant pool for this function. |
| 5229 inline ConstantPoolArray* constant_pool(); |
| 5230 inline void set_constant_pool(Object* constant_pool); |
| 5231 |
5228 // Get the safepoint entry for the given pc. | 5232 // Get the safepoint entry for the given pc. |
5229 SafepointEntry GetSafepointEntry(Address pc); | 5233 SafepointEntry GetSafepointEntry(Address pc); |
5230 | 5234 |
5231 // Find an object in a stub with a specified map | 5235 // Find an object in a stub with a specified map |
5232 Object* FindNthObject(int n, Map* match_map); | 5236 Object* FindNthObject(int n, Map* match_map); |
5233 void ReplaceNthObject(int n, Map* match_map, Object* replace_with); | 5237 void ReplaceNthObject(int n, Map* match_map, Object* replace_with); |
5234 | 5238 |
5235 // Find the first map in an IC stub. | 5239 // Find the first map in an IC stub. |
5236 Map* FindFirstMap(); | 5240 Map* FindFirstMap(); |
5237 void FindAllMaps(MapHandleList* maps); | 5241 void FindAllMaps(MapHandleList* maps); |
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5431 static const int kNextCodeLinkOffset = kTypeFeedbackInfoOffset; // Shared. | 5435 static const int kNextCodeLinkOffset = kTypeFeedbackInfoOffset; // Shared. |
5432 static const int kGCMetadataOffset = kTypeFeedbackInfoOffset + kPointerSize; | 5436 static const int kGCMetadataOffset = kTypeFeedbackInfoOffset + kPointerSize; |
5433 static const int kICAgeOffset = | 5437 static const int kICAgeOffset = |
5434 kGCMetadataOffset + kPointerSize; | 5438 kGCMetadataOffset + kPointerSize; |
5435 static const int kFlagsOffset = kICAgeOffset + kIntSize; | 5439 static const int kFlagsOffset = kICAgeOffset + kIntSize; |
5436 static const int kKindSpecificFlags1Offset = kFlagsOffset + kIntSize; | 5440 static const int kKindSpecificFlags1Offset = kFlagsOffset + kIntSize; |
5437 static const int kKindSpecificFlags2Offset = | 5441 static const int kKindSpecificFlags2Offset = |
5438 kKindSpecificFlags1Offset + kIntSize; | 5442 kKindSpecificFlags1Offset + kIntSize; |
5439 // Note: We might be able to squeeze this into the flags above. | 5443 // Note: We might be able to squeeze this into the flags above. |
5440 static const int kPrologueOffset = kKindSpecificFlags2Offset + kIntSize; | 5444 static const int kPrologueOffset = kKindSpecificFlags2Offset + kIntSize; |
| 5445 static const int kConstantPoolOffset = kPrologueOffset + kPointerSize; |
5441 | 5446 |
5442 static const int kHeaderPaddingStart = kPrologueOffset + kIntSize; | 5447 static const int kHeaderPaddingStart = kConstantPoolOffset + kIntSize; |
5443 | 5448 |
5444 // Add padding to align the instruction start following right after | 5449 // Add padding to align the instruction start following right after |
5445 // the Code object header. | 5450 // the Code object header. |
5446 static const int kHeaderSize = | 5451 static const int kHeaderSize = |
5447 (kHeaderPaddingStart + kCodeAlignmentMask) & ~kCodeAlignmentMask; | 5452 (kHeaderPaddingStart + kCodeAlignmentMask) & ~kCodeAlignmentMask; |
5448 | 5453 |
5449 // Byte offsets within kKindSpecificFlags1Offset. | 5454 // Byte offsets within kKindSpecificFlags1Offset. |
5450 static const int kOptimizableOffset = kKindSpecificFlags1Offset; | 5455 static const int kOptimizableOffset = kKindSpecificFlags1Offset; |
5451 static const int kCheckTypeOffset = kKindSpecificFlags1Offset; | 5456 static const int kCheckTypeOffset = kKindSpecificFlags1Offset; |
5452 | 5457 |
(...skipping 5177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10630 } else { | 10635 } else { |
10631 value &= ~(1 << bit_position); | 10636 value &= ~(1 << bit_position); |
10632 } | 10637 } |
10633 return value; | 10638 return value; |
10634 } | 10639 } |
10635 }; | 10640 }; |
10636 | 10641 |
10637 } } // namespace v8::internal | 10642 } } // namespace v8::internal |
10638 | 10643 |
10639 #endif // V8_OBJECTS_H_ | 10644 #endif // V8_OBJECTS_H_ |
OLD | NEW |