| 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 5015 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5026 | 5026 |
| 5027 // No more than 16 kinds. The value is currently encoded in four bits in | 5027 // No more than 16 kinds. The value is currently encoded in four bits in |
| 5028 // Flags. | 5028 // Flags. |
| 5029 STATIC_ASSERT(NUMBER_OF_KINDS <= 16); | 5029 STATIC_ASSERT(NUMBER_OF_KINDS <= 16); |
| 5030 | 5030 |
| 5031 static const char* Kind2String(Kind kind); | 5031 static const char* Kind2String(Kind kind); |
| 5032 | 5032 |
| 5033 // Types of stubs. | 5033 // Types of stubs. |
| 5034 enum StubType { | 5034 enum StubType { |
| 5035 NORMAL, | 5035 NORMAL, |
| 5036 FIELD, | 5036 FAST |
| 5037 CONSTANT, | |
| 5038 CALLBACKS, | |
| 5039 INTERCEPTOR, | |
| 5040 TRANSITION, | |
| 5041 NONEXISTENT | |
| 5042 }; | 5037 }; |
| 5043 | 5038 |
| 5044 typedef int ExtraICState; | 5039 typedef int ExtraICState; |
| 5045 | 5040 |
| 5046 static const ExtraICState kNoExtraICState = 0; | 5041 static const ExtraICState kNoExtraICState = 0; |
| 5047 | 5042 |
| 5048 static const int kPrologueOffsetNotSet = -1; | 5043 static const int kPrologueOffsetNotSet = -1; |
| 5049 | 5044 |
| 5050 #ifdef ENABLE_DISASSEMBLER | 5045 #ifdef ENABLE_DISASSEMBLER |
| 5051 // Printing | 5046 // Printing |
| (...skipping 405 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5457 class FullCodeFlagsHasDeoptimizationSupportField: | 5452 class FullCodeFlagsHasDeoptimizationSupportField: |
| 5458 public BitField<bool, 0, 1> {}; // NOLINT | 5453 public BitField<bool, 0, 1> {}; // NOLINT |
| 5459 class FullCodeFlagsHasDebugBreakSlotsField: public BitField<bool, 1, 1> {}; | 5454 class FullCodeFlagsHasDebugBreakSlotsField: public BitField<bool, 1, 1> {}; |
| 5460 class FullCodeFlagsIsCompiledOptimizable: public BitField<bool, 2, 1> {}; | 5455 class FullCodeFlagsIsCompiledOptimizable: public BitField<bool, 2, 1> {}; |
| 5461 | 5456 |
| 5462 static const int kAllowOSRAtLoopNestingLevelOffset = kFullCodeFlags + 1; | 5457 static const int kAllowOSRAtLoopNestingLevelOffset = kFullCodeFlags + 1; |
| 5463 static const int kProfilerTicksOffset = kAllowOSRAtLoopNestingLevelOffset + 1; | 5458 static const int kProfilerTicksOffset = kAllowOSRAtLoopNestingLevelOffset + 1; |
| 5464 | 5459 |
| 5465 // Flags layout. BitField<type, shift, size>. | 5460 // Flags layout. BitField<type, shift, size>. |
| 5466 class ICStateField: public BitField<InlineCacheState, 0, 3> {}; | 5461 class ICStateField: public BitField<InlineCacheState, 0, 3> {}; |
| 5467 class TypeField: public BitField<StubType, 3, 3> {}; | 5462 class TypeField: public BitField<StubType, 3, 1> {}; |
| 5468 class CacheHolderField: public BitField<InlineCacheHolderFlag, 6, 1> {}; | 5463 class CacheHolderField: public BitField<InlineCacheHolderFlag, 6, 1> {}; |
| 5469 class KindField: public BitField<Kind, 7, 4> {}; | 5464 class KindField: public BitField<Kind, 7, 4> {}; |
| 5470 class IsPregeneratedField: public BitField<bool, 11, 1> {}; | 5465 class IsPregeneratedField: public BitField<bool, 11, 1> {}; |
| 5471 class ExtraICStateField: public BitField<ExtraICState, 12, 5> {}; | 5466 class ExtraICStateField: public BitField<ExtraICState, 12, 5> {}; |
| 5472 class ExtendedExtraICStateField: public BitField<ExtraICState, 12, | 5467 class ExtendedExtraICStateField: public BitField<ExtraICState, 12, |
| 5473 PlatformSmiTagging::kSmiValueSize - 12 + 1> {}; // NOLINT | 5468 PlatformSmiTagging::kSmiValueSize - 12 + 1> {}; // NOLINT |
| 5474 STATIC_ASSERT(ExtraICStateField::kShift == ExtendedExtraICStateField::kShift); | 5469 STATIC_ASSERT(ExtraICStateField::kShift == ExtendedExtraICStateField::kShift); |
| 5475 | 5470 |
| 5476 // KindSpecificFlags1 layout (STUB and OPTIMIZED_FUNCTION) | 5471 // KindSpecificFlags1 layout (STUB and OPTIMIZED_FUNCTION) |
| 5477 static const int kStackSlotsFirstBit = 0; | 5472 static const int kStackSlotsFirstBit = 0; |
| (...skipping 5092 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10570 } else { | 10565 } else { |
| 10571 value &= ~(1 << bit_position); | 10566 value &= ~(1 << bit_position); |
| 10572 } | 10567 } |
| 10573 return value; | 10568 return value; |
| 10574 } | 10569 } |
| 10575 }; | 10570 }; |
| 10576 | 10571 |
| 10577 } } // namespace v8::internal | 10572 } } // namespace v8::internal |
| 10578 | 10573 |
| 10579 #endif // V8_OBJECTS_H_ | 10574 #endif // V8_OBJECTS_H_ |
| OLD | NEW |