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 2394 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2405 // Accessors for fetching instance descriptor at descriptor number. | 2405 // Accessors for fetching instance descriptor at descriptor number. |
2406 inline String* GetKey(int descriptor_number); | 2406 inline String* GetKey(int descriptor_number); |
2407 inline Object* GetValue(int descriptor_number); | 2407 inline Object* GetValue(int descriptor_number); |
2408 inline Smi* GetDetails(int descriptor_number); | 2408 inline Smi* GetDetails(int descriptor_number); |
2409 inline PropertyType GetType(int descriptor_number); | 2409 inline PropertyType GetType(int descriptor_number); |
2410 inline int GetFieldIndex(int descriptor_number); | 2410 inline int GetFieldIndex(int descriptor_number); |
2411 inline JSFunction* GetConstantFunction(int descriptor_number); | 2411 inline JSFunction* GetConstantFunction(int descriptor_number); |
2412 inline Object* GetCallbacksObject(int descriptor_number); | 2412 inline Object* GetCallbacksObject(int descriptor_number); |
2413 inline AccessorDescriptor* GetCallbacks(int descriptor_number); | 2413 inline AccessorDescriptor* GetCallbacks(int descriptor_number); |
2414 inline bool IsProperty(int descriptor_number); | 2414 inline bool IsProperty(int descriptor_number); |
2415 inline bool IsTransition(int descriptor_number); | 2415 inline bool IsTransitionOnly(int descriptor_number); |
2416 inline bool IsNullDescriptor(int descriptor_number); | 2416 inline bool IsNullDescriptor(int descriptor_number); |
2417 inline bool IsDontEnum(int descriptor_number); | 2417 inline bool IsDontEnum(int descriptor_number); |
2418 | 2418 |
2419 class WhitenessWitness { | 2419 class WhitenessWitness { |
2420 public: | 2420 public: |
2421 inline explicit WhitenessWitness(DescriptorArray* array); | 2421 inline explicit WhitenessWitness(DescriptorArray* array); |
2422 inline ~WhitenessWitness(); | 2422 inline ~WhitenessWitness(); |
2423 | 2423 |
2424 private: | 2424 private: |
2425 IncrementalMarking* marking_; | 2425 IncrementalMarking* marking_; |
(...skipping 605 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3031 void CopyEnumKeysTo(FixedArray* storage, FixedArray* sort_array); | 3031 void CopyEnumKeysTo(FixedArray* storage, FixedArray* sort_array); |
3032 | 3032 |
3033 // For transforming properties of a JSObject. | 3033 // For transforming properties of a JSObject. |
3034 MUST_USE_RESULT MaybeObject* TransformPropertiesToFastFor( | 3034 MUST_USE_RESULT MaybeObject* TransformPropertiesToFastFor( |
3035 JSObject* obj, | 3035 JSObject* obj, |
3036 int unused_property_fields); | 3036 int unused_property_fields); |
3037 | 3037 |
3038 // Find entry for key, otherwise return kNotFound. Optimized version of | 3038 // Find entry for key, otherwise return kNotFound. Optimized version of |
3039 // HashTable::FindEntry. | 3039 // HashTable::FindEntry. |
3040 int FindEntry(String* key); | 3040 int FindEntry(String* key); |
| 3041 |
| 3042 bool ContainsTransition(int entry); |
3041 }; | 3043 }; |
3042 | 3044 |
3043 | 3045 |
3044 class NumberDictionaryShape : public BaseShape<uint32_t> { | 3046 class NumberDictionaryShape : public BaseShape<uint32_t> { |
3045 public: | 3047 public: |
3046 static inline bool IsMatch(uint32_t key, Object* other); | 3048 static inline bool IsMatch(uint32_t key, Object* other); |
3047 MUST_USE_RESULT static inline MaybeObject* AsObject(uint32_t key); | 3049 MUST_USE_RESULT static inline MaybeObject* AsObject(uint32_t key); |
3048 static const int kEntrySize = 3; | 3050 static const int kEntrySize = 3; |
3049 static const bool kIsEnumerable = false; | 3051 static const bool kIsEnumerable = false; |
3050 }; | 3052 }; |
(...skipping 5193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8244 } else { | 8246 } else { |
8245 value &= ~(1 << bit_position); | 8247 value &= ~(1 << bit_position); |
8246 } | 8248 } |
8247 return value; | 8249 return value; |
8248 } | 8250 } |
8249 }; | 8251 }; |
8250 | 8252 |
8251 } } // namespace v8::internal | 8253 } } // namespace v8::internal |
8252 | 8254 |
8253 #endif // V8_OBJECTS_H_ | 8255 #endif // V8_OBJECTS_H_ |
OLD | NEW |