Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(380)

Side by Side Diff: src/objects.h

Issue 142693005: A64: Synchronize with r16918. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/a64
Patch Set: Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/mksnapshot.cc ('k') | src/objects.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 1462 matching lines...) Expand 10 before | Expand all | Expand 10 after
1473 return IsSmi(); 1473 return IsSmi();
1474 } else if (FLAG_track_double_fields && representation.IsDouble()) { 1474 } else if (FLAG_track_double_fields && representation.IsDouble()) {
1475 return IsNumber(); 1475 return IsNumber();
1476 } else if (FLAG_track_heap_object_fields && representation.IsHeapObject()) { 1476 } else if (FLAG_track_heap_object_fields && representation.IsHeapObject()) {
1477 return IsHeapObject(); 1477 return IsHeapObject();
1478 } 1478 }
1479 return true; 1479 return true;
1480 } 1480 }
1481 1481
1482 inline MaybeObject* AllocateNewStorageFor(Heap* heap, 1482 inline MaybeObject* AllocateNewStorageFor(Heap* heap,
1483 Representation representation, 1483 Representation representation);
1484 PretenureFlag tenure = NOT_TENURED);
1485 1484
1486 // Returns true if the object is of the correct type to be used as a 1485 // Returns true if the object is of the correct type to be used as a
1487 // implementation of a JSObject's elements. 1486 // implementation of a JSObject's elements.
1488 inline bool HasValidElements(); 1487 inline bool HasValidElements();
1489 1488
1490 inline bool HasSpecificClassOf(String* name); 1489 inline bool HasSpecificClassOf(String* name);
1491 1490
1492 MUST_USE_RESULT MaybeObject* ToObject(Isolate* isolate); // ECMA-262 9.9. 1491 MUST_USE_RESULT MaybeObject* ToObject(Isolate* isolate); // ECMA-262 9.9.
1493 bool BooleanValue(); // ECMA-262 9.2. 1492 bool BooleanValue(); // ECMA-262 9.2.
1494 1493
(...skipping 710 matching lines...) Expand 10 before | Expand all | Expand 10 after
2205 // Try to follow an existing transition to a field with attributes NONE. The 2204 // Try to follow an existing transition to a field with attributes NONE. The
2206 // return value indicates whether the transition was successful. 2205 // return value indicates whether the transition was successful.
2207 static inline Handle<Map> FindTransitionToField(Handle<Map> map, 2206 static inline Handle<Map> FindTransitionToField(Handle<Map> map,
2208 Handle<Name> key); 2207 Handle<Name> key);
2209 2208
2210 inline int LastAddedFieldIndex(); 2209 inline int LastAddedFieldIndex();
2211 2210
2212 // Extend the receiver with a single fast property appeared first in the 2211 // Extend the receiver with a single fast property appeared first in the
2213 // passed map. This also extends the property backing store if necessary. 2212 // passed map. This also extends the property backing store if necessary.
2214 static void AllocateStorageForMap(Handle<JSObject> object, Handle<Map> map); 2213 static void AllocateStorageForMap(Handle<JSObject> object, Handle<Map> map);
2215 inline MUST_USE_RESULT MaybeObject* AllocateStorageForMap(Map* map);
2216 2214
2215 // Migrates the given object to a map whose field representations are the
2216 // lowest upper bound of all known representations for that field.
2217 static void MigrateInstance(Handle<JSObject> instance); 2217 static void MigrateInstance(Handle<JSObject> instance);
2218 2218
2219 // Migrates the given object only if the target map is already available,
2220 // or returns an empty handle if such a map is not yet available.
2219 static Handle<Object> TryMigrateInstance(Handle<JSObject> instance); 2221 static Handle<Object> TryMigrateInstance(Handle<JSObject> instance);
2220 inline MUST_USE_RESULT MaybeObject* TryMigrateInstance();
2221 2222
2222 // Can cause GC. 2223 // Can cause GC.
2223 MUST_USE_RESULT MaybeObject* SetLocalPropertyIgnoreAttributesTrampoline( 2224 MUST_USE_RESULT MaybeObject* SetLocalPropertyIgnoreAttributesTrampoline(
2224 Name* key, 2225 Name* key,
2225 Object* value, 2226 Object* value,
2226 PropertyAttributes attributes, 2227 PropertyAttributes attributes,
2227 ValueType value_type = OPTIMAL_REPRESENTATION, 2228 ValueType value_type = OPTIMAL_REPRESENTATION,
2228 StoreMode mode = ALLOW_AS_CONSTANT, 2229 StoreMode mode = ALLOW_AS_CONSTANT,
2229 ExtensibilityCheck extensibility_check = PERFORM_EXTENSIBILITY_CHECK); 2230 ExtensibilityCheck extensibility_check = PERFORM_EXTENSIBILITY_CHECK);
2230 2231
(...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after
2498 // Returns a new map with all transitions dropped from the object's current 2499 // Returns a new map with all transitions dropped from the object's current
2499 // map and the ElementsKind set. 2500 // map and the ElementsKind set.
2500 static Handle<Map> GetElementsTransitionMap(Handle<JSObject> object, 2501 static Handle<Map> GetElementsTransitionMap(Handle<JSObject> object,
2501 ElementsKind to_kind); 2502 ElementsKind to_kind);
2502 inline MUST_USE_RESULT MaybeObject* GetElementsTransitionMap( 2503 inline MUST_USE_RESULT MaybeObject* GetElementsTransitionMap(
2503 Isolate* isolate, 2504 Isolate* isolate,
2504 ElementsKind elements_kind); 2505 ElementsKind elements_kind);
2505 MUST_USE_RESULT MaybeObject* GetElementsTransitionMapSlow( 2506 MUST_USE_RESULT MaybeObject* GetElementsTransitionMapSlow(
2506 ElementsKind elements_kind); 2507 ElementsKind elements_kind);
2507 2508
2508 static Handle<Object> TransitionElementsKind(Handle<JSObject> object, 2509 static void TransitionElementsKind(Handle<JSObject> object,
2509 ElementsKind to_kind); 2510 ElementsKind to_kind);
2510 2511
2511 MUST_USE_RESULT MaybeObject* TransitionElementsKind(ElementsKind to_kind); 2512 MUST_USE_RESULT MaybeObject* TransitionElementsKind(ElementsKind to_kind);
2512 MUST_USE_RESULT MaybeObject* UpdateAllocationSite(ElementsKind to_kind); 2513 MUST_USE_RESULT MaybeObject* UpdateAllocationSite(ElementsKind to_kind);
2513 2514
2515 // TODO(mstarzinger): Both public because of ConvertAnsSetLocalProperty().
2514 static void MigrateToMap(Handle<JSObject> object, Handle<Map> new_map); 2516 static void MigrateToMap(Handle<JSObject> object, Handle<Map> new_map);
2515 MUST_USE_RESULT MaybeObject* MigrateToMap(Map* new_map);
2516 static void GeneralizeFieldRepresentation(Handle<JSObject> object, 2517 static void GeneralizeFieldRepresentation(Handle<JSObject> object,
2517 int modify_index, 2518 int modify_index,
2518 Representation new_representation, 2519 Representation new_representation,
2519 StoreMode store_mode); 2520 StoreMode store_mode);
2520 2521
2521 // Convert the object to use the canonical dictionary 2522 // Convert the object to use the canonical dictionary
2522 // representation. If the object is expected to have additional properties 2523 // representation. If the object is expected to have additional properties
2523 // added this number can be indicated to have the backing store allocated to 2524 // added this number can be indicated to have the backing store allocated to
2524 // an initial capacity for holding these properties. 2525 // an initial capacity for holding these properties.
2525 static void NormalizeProperties(Handle<JSObject> object, 2526 static void NormalizeProperties(Handle<JSObject> object,
2526 PropertyNormalizationMode mode, 2527 PropertyNormalizationMode mode,
2527 int expected_additional_properties); 2528 int expected_additional_properties);
2528 2529
2529 MUST_USE_RESULT MaybeObject* NormalizeProperties(
2530 PropertyNormalizationMode mode,
2531 int expected_additional_properties);
2532
2533 // Convert and update the elements backing store to be a 2530 // Convert and update the elements backing store to be a
2534 // SeededNumberDictionary dictionary. Returns the backing after conversion. 2531 // SeededNumberDictionary dictionary. Returns the backing after conversion.
2535 static Handle<SeededNumberDictionary> NormalizeElements( 2532 static Handle<SeededNumberDictionary> NormalizeElements(
2536 Handle<JSObject> object); 2533 Handle<JSObject> object);
2537 2534
2538 MUST_USE_RESULT MaybeObject* NormalizeElements(); 2535 MUST_USE_RESULT MaybeObject* NormalizeElements();
2539 2536
2540 // Transform slow named properties to fast variants. 2537 // Transform slow named properties to fast variants.
2541 // Returns failure if allocation failed.
2542 static void TransformToFastProperties(Handle<JSObject> object, 2538 static void TransformToFastProperties(Handle<JSObject> object,
2543 int unused_property_fields); 2539 int unused_property_fields);
2544 2540
2545 MUST_USE_RESULT MaybeObject* TransformToFastProperties(
2546 int unused_property_fields);
2547
2548 // Access fast-case object properties at index. 2541 // Access fast-case object properties at index.
2549 MUST_USE_RESULT inline MaybeObject* FastPropertyAt( 2542 MUST_USE_RESULT inline MaybeObject* FastPropertyAt(
2550 Representation representation, 2543 Representation representation,
2551 int index); 2544 int index);
2552 inline Object* RawFastPropertyAt(int index); 2545 inline Object* RawFastPropertyAt(int index);
2553 inline void FastPropertyAtPut(int index, Object* value); 2546 inline void FastPropertyAtPut(int index, Object* value);
2554 2547
2555 // Access to in object properties. 2548 // Access to in object properties.
2556 inline int GetInObjectPropertyOffset(int index); 2549 inline int GetInObjectPropertyOffset(int index);
2557 inline Object* InObjectPropertyAt(int index); 2550 inline Object* InObjectPropertyAt(int index);
(...skipping 12 matching lines...) Expand all
2570 // pre_allocated_value and the rest with filler_value. 2563 // pre_allocated_value and the rest with filler_value.
2571 // Note: this call does not update write barrier, the caller is responsible 2564 // Note: this call does not update write barrier, the caller is responsible
2572 // to ensure that |filler_value| can be collected without WB here. 2565 // to ensure that |filler_value| can be collected without WB here.
2573 inline void InitializeBody(Map* map, 2566 inline void InitializeBody(Map* map,
2574 Object* pre_allocated_value, 2567 Object* pre_allocated_value,
2575 Object* filler_value); 2568 Object* filler_value);
2576 2569
2577 // Check whether this object references another object 2570 // Check whether this object references another object
2578 bool ReferencesObject(Object* obj); 2571 bool ReferencesObject(Object* obj);
2579 2572
2580 // Casting.
2581 static inline JSObject* cast(Object* obj);
2582
2583 // Disalow further properties to be added to the object. 2573 // Disalow further properties to be added to the object.
2584 static Handle<Object> PreventExtensions(Handle<JSObject> object); 2574 static Handle<Object> PreventExtensions(Handle<JSObject> object);
2585 MUST_USE_RESULT MaybeObject* PreventExtensions();
2586 2575
2587 // ES5 Object.freeze 2576 // ES5 Object.freeze
2588 static Handle<Object> Freeze(Handle<JSObject> object); 2577 static Handle<Object> Freeze(Handle<JSObject> object);
2589 2578
2590 // Called the first time an object is observed with ES7 Object.observe. 2579 // Called the first time an object is observed with ES7 Object.observe.
2591 MUST_USE_RESULT MaybeObject* SetObserved(Isolate* isolate); 2580 MUST_USE_RESULT MaybeObject* SetObserved(Isolate* isolate);
2592 2581
2593 // Copy object. 2582 // Copy object.
2594 static Handle<JSObject> Copy(Handle<JSObject> object); 2583 static Handle<JSObject> Copy(Handle<JSObject> object);
2595 static Handle<JSObject> DeepCopy(Handle<JSObject> object); 2584 static Handle<JSObject> DeepCopy(Handle<JSObject> object);
2596 2585
2586 // Casting.
2587 static inline JSObject* cast(Object* obj);
2588
2597 // Dispatched behavior. 2589 // Dispatched behavior.
2598 void JSObjectShortPrint(StringStream* accumulator); 2590 void JSObjectShortPrint(StringStream* accumulator);
2599 DECLARE_PRINTER(JSObject) 2591 DECLARE_PRINTER(JSObject)
2600 DECLARE_VERIFIER(JSObject) 2592 DECLARE_VERIFIER(JSObject)
2601 #ifdef OBJECT_PRINT 2593 #ifdef OBJECT_PRINT
2602 void PrintProperties(FILE* out = stdout); 2594 void PrintProperties(FILE* out = stdout);
2603 void PrintElements(FILE* out = stdout); 2595 void PrintElements(FILE* out = stdout);
2604 void PrintTransitions(FILE* out = stdout); 2596 void PrintTransitions(FILE* out = stdout);
2605 #endif 2597 #endif
2606 2598
(...skipping 1657 matching lines...) Expand 10 before | Expand all | Expand 10 after
4264 }; 4256 };
4265 4257
4266 4258
4267 // The cache for maps used by normalized (dictionary mode) objects. 4259 // The cache for maps used by normalized (dictionary mode) objects.
4268 // Such maps do not have property descriptors, so a typical program 4260 // Such maps do not have property descriptors, so a typical program
4269 // needs very limited number of distinct normalized maps. 4261 // needs very limited number of distinct normalized maps.
4270 class NormalizedMapCache: public FixedArray { 4262 class NormalizedMapCache: public FixedArray {
4271 public: 4263 public:
4272 static const int kEntries = 64; 4264 static const int kEntries = 64;
4273 4265
4274 MUST_USE_RESULT MaybeObject* Get(JSObject* object, 4266 static Handle<Map> Get(Handle<NormalizedMapCache> cache,
4275 PropertyNormalizationMode mode); 4267 Handle<JSObject> object,
4268 PropertyNormalizationMode mode);
4276 4269
4277 void Clear(); 4270 void Clear();
4278 4271
4279 // Casting 4272 // Casting
4280 static inline NormalizedMapCache* cast(Object* obj); 4273 static inline NormalizedMapCache* cast(Object* obj);
4281 4274
4282 DECLARE_VERIFIER(NormalizedMapCache) 4275 DECLARE_VERIFIER(NormalizedMapCache)
4283 }; 4276 };
4284 4277
4285 4278
(...skipping 560 matching lines...) Expand 10 before | Expand all | Expand 10 after
4846 enum StubType { 4839 enum StubType {
4847 NORMAL, 4840 NORMAL,
4848 FIELD, 4841 FIELD,
4849 CONSTANT, 4842 CONSTANT,
4850 CALLBACKS, 4843 CALLBACKS,
4851 INTERCEPTOR, 4844 INTERCEPTOR,
4852 TRANSITION, 4845 TRANSITION,
4853 NONEXISTENT 4846 NONEXISTENT
4854 }; 4847 };
4855 4848
4856 enum StubHolder {
4857 OWN_STUB,
4858 PROTOTYPE_STUB
4859 };
4860
4861 typedef int ExtraICState; 4849 typedef int ExtraICState;
4862 4850
4863 static const ExtraICState kNoExtraICState = 0; 4851 static const ExtraICState kNoExtraICState = 0;
4864 4852
4865 #ifdef ENABLE_DISASSEMBLER 4853 #ifdef ENABLE_DISASSEMBLER
4866 // Printing 4854 // Printing
4867 static const char* ICState2String(InlineCacheState state); 4855 static const char* ICState2String(InlineCacheState state);
4868 static const char* StubType2String(StubType type); 4856 static const char* StubType2String(StubType type);
4869 static void PrintExtraICState(FILE* out, Kind kind, ExtraICState extra); 4857 static void PrintExtraICState(FILE* out, Kind kind, ExtraICState extra);
4870 void Disassemble(const char* name, FILE* out = stdout); 4858 void Disassemble(const char* name, FILE* out = stdout);
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
5055 5043
5056 // Find the first name in an IC stub. 5044 // Find the first name in an IC stub.
5057 Name* FindFirstName(); 5045 Name* FindFirstName();
5058 5046
5059 void ReplaceNthCell(int n, Cell* replace_with); 5047 void ReplaceNthCell(int n, Cell* replace_with);
5060 5048
5061 class ExtraICStateStrictMode: public BitField<StrictModeFlag, 0, 1> {}; 5049 class ExtraICStateStrictMode: public BitField<StrictModeFlag, 0, 1> {};
5062 class ExtraICStateKeyedAccessStoreMode: 5050 class ExtraICStateKeyedAccessStoreMode:
5063 public BitField<KeyedAccessStoreMode, 1, 4> {}; // NOLINT 5051 public BitField<KeyedAccessStoreMode, 1, 4> {}; // NOLINT
5064 5052
5065 class ExtraICStateStubHolder: public BitField<StubHolder, 0, 1> {};
5066
5067 static inline StrictModeFlag GetStrictMode(ExtraICState extra_ic_state) { 5053 static inline StrictModeFlag GetStrictMode(ExtraICState extra_ic_state) {
5068 return ExtraICStateStrictMode::decode(extra_ic_state); 5054 return ExtraICStateStrictMode::decode(extra_ic_state);
5069 } 5055 }
5070 5056
5071 static inline KeyedAccessStoreMode GetKeyedAccessStoreMode( 5057 static inline KeyedAccessStoreMode GetKeyedAccessStoreMode(
5072 ExtraICState extra_ic_state) { 5058 ExtraICState extra_ic_state) {
5073 return ExtraICStateKeyedAccessStoreMode::decode(extra_ic_state); 5059 return ExtraICStateKeyedAccessStoreMode::decode(extra_ic_state);
5074 } 5060 }
5075 5061
5076 static inline ExtraICState ComputeExtraICState( 5062 static inline ExtraICState ComputeExtraICState(
5077 KeyedAccessStoreMode store_mode, 5063 KeyedAccessStoreMode store_mode,
5078 StrictModeFlag strict_mode) { 5064 StrictModeFlag strict_mode) {
5079 return ExtraICStateKeyedAccessStoreMode::encode(store_mode) | 5065 return ExtraICStateKeyedAccessStoreMode::encode(store_mode) |
5080 ExtraICStateStrictMode::encode(strict_mode); 5066 ExtraICStateStrictMode::encode(strict_mode);
5081 } 5067 }
5082 5068
5083 static inline ExtraICState ComputeExtraICState(StubHolder stub_holder) {
5084 return ExtraICStateStubHolder::encode(stub_holder);
5085 }
5086
5087 // Flags operations. 5069 // Flags operations.
5088 static inline Flags ComputeFlags( 5070 static inline Flags ComputeFlags(
5089 Kind kind, 5071 Kind kind,
5090 InlineCacheState ic_state = UNINITIALIZED, 5072 InlineCacheState ic_state = UNINITIALIZED,
5091 ExtraICState extra_ic_state = kNoExtraICState, 5073 ExtraICState extra_ic_state = kNoExtraICState,
5092 StubType type = NORMAL, 5074 StubType type = NORMAL,
5093 int argc = -1, 5075 int argc = -1,
5094 InlineCacheHolderFlag holder = OWN_MAP); 5076 InlineCacheHolderFlag holder = OWN_MAP);
5095 5077
5096 static inline Flags ComputeMonomorphicFlags( 5078 static inline Flags ComputeMonomorphicFlags(
(...skipping 2781 matching lines...) Expand 10 before | Expand all | Expand 10 after
7878 TRACK_ALLOCATION_SITE, 7860 TRACK_ALLOCATION_SITE,
7879 LAST_ALLOCATION_SITE_MODE = TRACK_ALLOCATION_SITE 7861 LAST_ALLOCATION_SITE_MODE = TRACK_ALLOCATION_SITE
7880 }; 7862 };
7881 7863
7882 7864
7883 class AllocationSite: public Struct { 7865 class AllocationSite: public Struct {
7884 public: 7866 public:
7885 static const uint32_t kMaximumArrayBytesToPretransition = 8 * 1024; 7867 static const uint32_t kMaximumArrayBytesToPretransition = 8 * 1024;
7886 7868
7887 DECL_ACCESSORS(transition_info, Object) 7869 DECL_ACCESSORS(transition_info, Object)
7870 // nested_site threads a list of sites that represent nested literals
7871 // walked in a particular order. So [[1, 2], 1, 2] will have one
7872 // nested_site, but [[1, 2], 3, [4]] will have a list of two.
7873 DECL_ACCESSORS(nested_site, Object)
7888 DECL_ACCESSORS(dependent_code, DependentCode) 7874 DECL_ACCESSORS(dependent_code, DependentCode)
7889 DECL_ACCESSORS(weak_next, Object) 7875 DECL_ACCESSORS(weak_next, Object)
7890 7876
7891 inline void Initialize(); 7877 inline void Initialize();
7892 7878
7893 ElementsKind GetElementsKind() { 7879 ElementsKind GetElementsKind() {
7894 ASSERT(!IsLiteralSite()); 7880 ASSERT(!IsLiteralSite());
7895 return static_cast<ElementsKind>(Smi::cast(transition_info())->value()); 7881 return static_cast<ElementsKind>(Smi::cast(transition_info())->value());
7896 } 7882 }
7897 7883
(...skipping 11 matching lines...) Expand all
7909 DECLARE_PRINTER(AllocationSite) 7895 DECLARE_PRINTER(AllocationSite)
7910 DECLARE_VERIFIER(AllocationSite) 7896 DECLARE_VERIFIER(AllocationSite)
7911 7897
7912 static inline AllocationSite* cast(Object* obj); 7898 static inline AllocationSite* cast(Object* obj);
7913 static inline AllocationSiteMode GetMode( 7899 static inline AllocationSiteMode GetMode(
7914 ElementsKind boilerplate_elements_kind); 7900 ElementsKind boilerplate_elements_kind);
7915 static inline AllocationSiteMode GetMode(ElementsKind from, ElementsKind to); 7901 static inline AllocationSiteMode GetMode(ElementsKind from, ElementsKind to);
7916 static inline bool CanTrack(InstanceType type); 7902 static inline bool CanTrack(InstanceType type);
7917 7903
7918 static const int kTransitionInfoOffset = HeapObject::kHeaderSize; 7904 static const int kTransitionInfoOffset = HeapObject::kHeaderSize;
7919 static const int kDependentCodeOffset = kTransitionInfoOffset + kPointerSize; 7905 static const int kNestedSiteOffset = kTransitionInfoOffset + kPointerSize;
7906 static const int kDependentCodeOffset = kNestedSiteOffset + kPointerSize;
7920 static const int kWeakNextOffset = kDependentCodeOffset + kPointerSize; 7907 static const int kWeakNextOffset = kDependentCodeOffset + kPointerSize;
7921 static const int kSize = kWeakNextOffset + kPointerSize; 7908 static const int kSize = kWeakNextOffset + kPointerSize;
7922 7909
7923 typedef FixedBodyDescriptor<HeapObject::kHeaderSize, 7910 typedef FixedBodyDescriptor<HeapObject::kHeaderSize,
7924 kDependentCodeOffset + kPointerSize, 7911 kDependentCodeOffset + kPointerSize,
7925 kSize> BodyDescriptor; 7912 kSize> BodyDescriptor;
7926 7913
7927 private: 7914 private:
7928 DISALLOW_IMPLICIT_CONSTRUCTORS(AllocationSite); 7915 DISALLOW_IMPLICIT_CONSTRUCTORS(AllocationSite);
7929 }; 7916 };
(...skipping 2360 matching lines...) Expand 10 before | Expand all | Expand 10 after
10290 } else { 10277 } else {
10291 value &= ~(1 << bit_position); 10278 value &= ~(1 << bit_position);
10292 } 10279 }
10293 return value; 10280 return value;
10294 } 10281 }
10295 }; 10282 };
10296 10283
10297 } } // namespace v8::internal 10284 } } // namespace v8::internal
10298 10285
10299 #endif // V8_OBJECTS_H_ 10286 #endif // V8_OBJECTS_H_
OLDNEW
« no previous file with comments | « src/mksnapshot.cc ('k') | src/objects.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698