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 4032 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4043 // [relocation_info]: Code relocation information | 4043 // [relocation_info]: Code relocation information |
4044 DECL_ACCESSORS(relocation_info, ByteArray) | 4044 DECL_ACCESSORS(relocation_info, ByteArray) |
4045 void InvalidateRelocation(); | 4045 void InvalidateRelocation(); |
4046 | 4046 |
4047 // [handler_table]: Fixed array containing offsets of exception handlers. | 4047 // [handler_table]: Fixed array containing offsets of exception handlers. |
4048 DECL_ACCESSORS(handler_table, FixedArray) | 4048 DECL_ACCESSORS(handler_table, FixedArray) |
4049 | 4049 |
4050 // [deoptimization_data]: Array containing data for deopt. | 4050 // [deoptimization_data]: Array containing data for deopt. |
4051 DECL_ACCESSORS(deoptimization_data, FixedArray) | 4051 DECL_ACCESSORS(deoptimization_data, FixedArray) |
4052 | 4052 |
4053 // [code_flushing_candidate]: Field only used during garbage | 4053 // [gc_metadata]: Field used to hold GC related metadata. The contents of this |
4054 // collection to hold code flushing candidates. The contents of this | |
4055 // field does not have to be traced during garbage collection since | 4054 // field does not have to be traced during garbage collection since |
4056 // it is only used by the garbage collector itself. | 4055 // it is only used by the garbage collector itself. |
4057 DECL_ACCESSORS(next_code_flushing_candidate, Object) | 4056 DECL_ACCESSORS(gc_metadata, Object) |
4058 | 4057 |
4059 // Unchecked accessors to be used during GC. | 4058 // Unchecked accessors to be used during GC. |
4060 inline ByteArray* unchecked_relocation_info(); | 4059 inline ByteArray* unchecked_relocation_info(); |
4061 inline FixedArray* unchecked_deoptimization_data(); | 4060 inline FixedArray* unchecked_deoptimization_data(); |
4062 | 4061 |
4063 inline int relocation_size(); | 4062 inline int relocation_size(); |
4064 | 4063 |
4065 // [flags]: Various code flags. | 4064 // [flags]: Various code flags. |
4066 inline Flags flags(); | 4065 inline Flags flags(); |
4067 inline void set_flags(Flags flags); | 4066 inline void set_flags(Flags flags); |
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4271 // Max loop nesting marker used to postpose OSR. We don't take loop | 4270 // Max loop nesting marker used to postpose OSR. We don't take loop |
4272 // nesting that is deeper than 5 levels into account. | 4271 // nesting that is deeper than 5 levels into account. |
4273 static const int kMaxLoopNestingMarker = 6; | 4272 static const int kMaxLoopNestingMarker = 6; |
4274 | 4273 |
4275 // Layout description. | 4274 // Layout description. |
4276 static const int kInstructionSizeOffset = HeapObject::kHeaderSize; | 4275 static const int kInstructionSizeOffset = HeapObject::kHeaderSize; |
4277 static const int kRelocationInfoOffset = kInstructionSizeOffset + kIntSize; | 4276 static const int kRelocationInfoOffset = kInstructionSizeOffset + kIntSize; |
4278 static const int kHandlerTableOffset = kRelocationInfoOffset + kPointerSize; | 4277 static const int kHandlerTableOffset = kRelocationInfoOffset + kPointerSize; |
4279 static const int kDeoptimizationDataOffset = | 4278 static const int kDeoptimizationDataOffset = |
4280 kHandlerTableOffset + kPointerSize; | 4279 kHandlerTableOffset + kPointerSize; |
4281 static const int kNextCodeFlushingCandidateOffset = | 4280 static const int kGCMetadataOffset = kDeoptimizationDataOffset + kPointerSize; |
4282 kDeoptimizationDataOffset + kPointerSize; | 4281 static const int kFlagsOffset = kGCMetadataOffset + kPointerSize; |
4283 static const int kFlagsOffset = | |
4284 kNextCodeFlushingCandidateOffset + kPointerSize; | |
4285 | 4282 |
4286 static const int kKindSpecificFlagsOffset = kFlagsOffset + kIntSize; | 4283 static const int kKindSpecificFlagsOffset = kFlagsOffset + kIntSize; |
4287 static const int kKindSpecificFlagsSize = 2 * kIntSize; | 4284 static const int kKindSpecificFlagsSize = 2 * kIntSize; |
4288 | 4285 |
4289 static const int kHeaderPaddingStart = kKindSpecificFlagsOffset + | 4286 static const int kHeaderPaddingStart = kKindSpecificFlagsOffset + |
4290 kKindSpecificFlagsSize; | 4287 kKindSpecificFlagsSize; |
4291 | 4288 |
4292 // Add padding to align the instruction start following right after | 4289 // Add padding to align the instruction start following right after |
4293 // the Code object header. | 4290 // the Code object header. |
4294 static const int kHeaderSize = | 4291 static const int kHeaderSize = |
(...skipping 3899 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8194 } else { | 8191 } else { |
8195 value &= ~(1 << bit_position); | 8192 value &= ~(1 << bit_position); |
8196 } | 8193 } |
8197 return value; | 8194 return value; |
8198 } | 8195 } |
8199 }; | 8196 }; |
8200 | 8197 |
8201 } } // namespace v8::internal | 8198 } } // namespace v8::internal |
8202 | 8199 |
8203 #endif // V8_OBJECTS_H_ | 8200 #endif // V8_OBJECTS_H_ |
OLD | NEW |