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 4346 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
4357 static const int kBinaryOpReturnTypeOffset = kBinaryOpTypeOffset + 1; | 4357 static const int kBinaryOpReturnTypeOffset = kBinaryOpTypeOffset + 1; |
4358 | 4358 |
4359 static const int kAllowOSRAtLoopNestingLevelOffset = kFullCodeFlags + 1; | 4359 static const int kAllowOSRAtLoopNestingLevelOffset = kFullCodeFlags + 1; |
4360 | 4360 |
4361 static const int kSafepointTableOffsetOffset = kStackSlotsOffset + kIntSize; | 4361 static const int kSafepointTableOffsetOffset = kStackSlotsOffset + kIntSize; |
4362 static const int kStackCheckTableOffsetOffset = kStackSlotsOffset + kIntSize; | 4362 static const int kStackCheckTableOffsetOffset = kStackSlotsOffset + kIntSize; |
4363 | 4363 |
4364 // Flags layout. BitField<type, shift, size>. | 4364 // Flags layout. BitField<type, shift, size>. |
4365 class ICStateField: public BitField<InlineCacheState, 0, 3> {}; | 4365 class ICStateField: public BitField<InlineCacheState, 0, 3> {}; |
4366 class TypeField: public BitField<PropertyType, 3, 4> {}; | 4366 class TypeField: public BitField<PropertyType, 3, 4> {}; |
4367 class KindField: public BitField<Kind, 7, 4> {}; | 4367 class CacheHolderField: public BitField<InlineCacheHolderFlag, 7, 1> {}; |
4368 class CacheHolderField: public BitField<InlineCacheHolderFlag, 11, 1> {}; | 4368 class KindField: public BitField<Kind, 8, 4> {}; |
4369 class ExtraICStateField: public BitField<ExtraICState, 12, 2> {}; | 4369 class ExtraICStateField: public BitField<ExtraICState, 12, 2> {}; |
4370 class IsPregeneratedField: public BitField<bool, 14, 1> {}; | 4370 class IsPregeneratedField: public BitField<bool, 14, 1> {}; |
4371 | 4371 |
4372 // Signed field cannot be encoded using the BitField class. | 4372 // Signed field cannot be encoded using the BitField class. |
4373 static const int kArgumentsCountShift = 15; | 4373 static const int kArgumentsCountShift = 15; |
4374 static const int kArgumentsCountMask = ~((1 << kArgumentsCountShift) - 1); | 4374 static const int kArgumentsCountMask = ~((1 << kArgumentsCountShift) - 1); |
4375 | 4375 |
4376 // This constant should be encodable in an ARM instruction. | |
Michael Starzinger
2012/02/02 13:14:20
I think we need to have a static-assert at the usa
| |
4376 static const int kFlagsNotUsedInLookup = | 4377 static const int kFlagsNotUsedInLookup = |
4377 TypeField::kMask | CacheHolderField::kMask; | 4378 TypeField::kMask | CacheHolderField::kMask; |
4378 | 4379 |
4379 private: | 4380 private: |
4380 DISALLOW_IMPLICIT_CONSTRUCTORS(Code); | 4381 DISALLOW_IMPLICIT_CONSTRUCTORS(Code); |
4381 }; | 4382 }; |
4382 | 4383 |
4383 | 4384 |
4384 // All heap objects have a Map that describes their structure. | 4385 // All heap objects have a Map that describes their structure. |
4385 // A Map contains information about: | 4386 // A Map contains information about: |
(...skipping 3857 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
8243 } else { | 8244 } else { |
8244 value &= ~(1 << bit_position); | 8245 value &= ~(1 << bit_position); |
8245 } | 8246 } |
8246 return value; | 8247 return value; |
8247 } | 8248 } |
8248 }; | 8249 }; |
8249 | 8250 |
8250 } } // namespace v8::internal | 8251 } } // namespace v8::internal |
8251 | 8252 |
8252 #endif // V8_OBJECTS_H_ | 8253 #endif // V8_OBJECTS_H_ |
OLD | NEW |