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 4189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4200 // [has_debug_break_slots]: For FUNCTION kind, tells if it has | 4200 // [has_debug_break_slots]: For FUNCTION kind, tells if it has |
4201 // been compiled with debug break slots. | 4201 // been compiled with debug break slots. |
4202 inline bool has_debug_break_slots(); | 4202 inline bool has_debug_break_slots(); |
4203 inline void set_has_debug_break_slots(bool value); | 4203 inline void set_has_debug_break_slots(bool value); |
4204 | 4204 |
4205 // [compiled_with_optimizing]: For FUNCTION kind, tells if it has | 4205 // [compiled_with_optimizing]: For FUNCTION kind, tells if it has |
4206 // been compiled with IsOptimizing set to true. | 4206 // been compiled with IsOptimizing set to true. |
4207 inline bool is_compiled_optimizable(); | 4207 inline bool is_compiled_optimizable(); |
4208 inline void set_compiled_optimizable(bool value); | 4208 inline void set_compiled_optimizable(bool value); |
4209 | 4209 |
| 4210 // [has_self_optimization_header]: For FUNCTION kind, tells if it has |
| 4211 // a self-optimization header. |
| 4212 inline bool has_self_optimization_header(); |
| 4213 inline void set_self_optimization_header(bool value); |
| 4214 |
4210 // [allow_osr_at_loop_nesting_level]: For FUNCTION kind, tells for | 4215 // [allow_osr_at_loop_nesting_level]: For FUNCTION kind, tells for |
4211 // how long the function has been marked for OSR and therefore which | 4216 // how long the function has been marked for OSR and therefore which |
4212 // level of loop nesting we are willing to do on-stack replacement | 4217 // level of loop nesting we are willing to do on-stack replacement |
4213 // for. | 4218 // for. |
4214 inline void set_allow_osr_at_loop_nesting_level(int level); | 4219 inline void set_allow_osr_at_loop_nesting_level(int level); |
4215 inline int allow_osr_at_loop_nesting_level(); | 4220 inline int allow_osr_at_loop_nesting_level(); |
4216 | 4221 |
4217 // [stack_slots]: For kind OPTIMIZED_FUNCTION, the number of stack slots | 4222 // [stack_slots]: For kind OPTIMIZED_FUNCTION, the number of stack slots |
4218 // reserved in the code prologue. | 4223 // reserved in the code prologue. |
4219 inline unsigned stack_slots(); | 4224 inline unsigned stack_slots(); |
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4419 static const int kBinaryOpTypeOffset = kStubMajorKeyOffset + 1; | 4424 static const int kBinaryOpTypeOffset = kStubMajorKeyOffset + 1; |
4420 static const int kCompareStateOffset = kStubMajorKeyOffset + 1; | 4425 static const int kCompareStateOffset = kStubMajorKeyOffset + 1; |
4421 static const int kToBooleanTypeOffset = kStubMajorKeyOffset + 1; | 4426 static const int kToBooleanTypeOffset = kStubMajorKeyOffset + 1; |
4422 static const int kHasFunctionCacheOffset = kStubMajorKeyOffset + 1; | 4427 static const int kHasFunctionCacheOffset = kStubMajorKeyOffset + 1; |
4423 | 4428 |
4424 static const int kFullCodeFlags = kOptimizableOffset + 1; | 4429 static const int kFullCodeFlags = kOptimizableOffset + 1; |
4425 class FullCodeFlagsHasDeoptimizationSupportField: | 4430 class FullCodeFlagsHasDeoptimizationSupportField: |
4426 public BitField<bool, 0, 1> {}; // NOLINT | 4431 public BitField<bool, 0, 1> {}; // NOLINT |
4427 class FullCodeFlagsHasDebugBreakSlotsField: public BitField<bool, 1, 1> {}; | 4432 class FullCodeFlagsHasDebugBreakSlotsField: public BitField<bool, 1, 1> {}; |
4428 class FullCodeFlagsIsCompiledOptimizable: public BitField<bool, 2, 1> {}; | 4433 class FullCodeFlagsIsCompiledOptimizable: public BitField<bool, 2, 1> {}; |
| 4434 class FullCodeFlagsHasSelfOptimizationHeader: public BitField<bool, 3, 1> {}; |
4429 | 4435 |
4430 static const int kBinaryOpReturnTypeOffset = kBinaryOpTypeOffset + 1; | 4436 static const int kBinaryOpReturnTypeOffset = kBinaryOpTypeOffset + 1; |
4431 | 4437 |
4432 static const int kAllowOSRAtLoopNestingLevelOffset = kFullCodeFlags + 1; | 4438 static const int kAllowOSRAtLoopNestingLevelOffset = kFullCodeFlags + 1; |
4433 | 4439 |
4434 static const int kSafepointTableOffsetOffset = kStackSlotsOffset + kIntSize; | 4440 static const int kSafepointTableOffsetOffset = kStackSlotsOffset + kIntSize; |
4435 static const int kStackCheckTableOffsetOffset = kStackSlotsOffset + kIntSize; | 4441 static const int kStackCheckTableOffsetOffset = kStackSlotsOffset + kIntSize; |
4436 | 4442 |
4437 // Flags layout. BitField<type, shift, size>. | 4443 // Flags layout. BitField<type, shift, size>. |
4438 class ICStateField: public BitField<InlineCacheState, 0, 3> {}; | 4444 class ICStateField: public BitField<InlineCacheState, 0, 3> {}; |
(...skipping 3978 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8417 } else { | 8423 } else { |
8418 value &= ~(1 << bit_position); | 8424 value &= ~(1 << bit_position); |
8419 } | 8425 } |
8420 return value; | 8426 return value; |
8421 } | 8427 } |
8422 }; | 8428 }; |
8423 | 8429 |
8424 } } // namespace v8::internal | 8430 } } // namespace v8::internal |
8425 | 8431 |
8426 #endif // V8_OBJECTS_H_ | 8432 #endif // V8_OBJECTS_H_ |
OLD | NEW |