Chromium Code Reviews

Side by Side Diff: src/objects-inl.h

Issue 2428473002: [ic] Cache weak cells containing prototypes in respective PrototypeInfo objects. (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff |
« no previous file with comments | « src/objects-debug.cc ('k') | src/objects-printer.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 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 // 4 //
5 // Review notes: 5 // Review notes:
6 // 6 //
7 // - The use of macros in these inline functions may seem superfluous 7 // - The use of macros in these inline functions may seem superfluous
8 // but it is absolutely needed to make sure gcc generates optimal 8 // but it is absolutely needed to make sure gcc generates optimal
9 // code. gcc is not happy when attempting to inline too deep. 9 // code. gcc is not happy when attempting to inline too deep.
10 // 10 //
(...skipping 5744 matching lines...)
5755 constructor = constructor->GetParent(isolate); 5755 constructor = constructor->GetParent(isolate);
5756 if (constructor == nullptr) return nullptr; 5756 if (constructor == nullptr) return nullptr;
5757 Object* maybe_obj = constructor->instance_template(); 5757 Object* maybe_obj = constructor->instance_template();
5758 if (!maybe_obj->IsUndefined(isolate)) { 5758 if (!maybe_obj->IsUndefined(isolate)) {
5759 return ObjectTemplateInfo::cast(maybe_obj); 5759 return ObjectTemplateInfo::cast(maybe_obj);
5760 } 5760 }
5761 } 5761 }
5762 return nullptr; 5762 return nullptr;
5763 } 5763 }
5764 5764
5765 ACCESSORS(PrototypeInfo, weak_cell, Object, kWeakCellOffset)
5765 ACCESSORS(PrototypeInfo, prototype_users, Object, kPrototypeUsersOffset) 5766 ACCESSORS(PrototypeInfo, prototype_users, Object, kPrototypeUsersOffset)
5766 ACCESSORS(PrototypeInfo, object_create_map, Object, kObjectCreateMap) 5767 ACCESSORS(PrototypeInfo, object_create_map, Object, kObjectCreateMap)
5767 SMI_ACCESSORS(PrototypeInfo, registry_slot, kRegistrySlotOffset) 5768 SMI_ACCESSORS(PrototypeInfo, registry_slot, kRegistrySlotOffset)
5768 ACCESSORS(PrototypeInfo, validity_cell, Object, kValidityCellOffset) 5769 ACCESSORS(PrototypeInfo, validity_cell, Object, kValidityCellOffset)
5769 SMI_ACCESSORS(PrototypeInfo, bit_field, kBitFieldOffset) 5770 SMI_ACCESSORS(PrototypeInfo, bit_field, kBitFieldOffset)
5770 BOOL_ACCESSORS(PrototypeInfo, bit_field, should_be_fast_map, kShouldBeFastBit) 5771 BOOL_ACCESSORS(PrototypeInfo, bit_field, should_be_fast_map, kShouldBeFastBit)
5771 5772
5772 ACCESSORS(Tuple3, value1, Object, kValue1Offset) 5773 ACCESSORS(Tuple3, value1, Object, kValue1Offset)
5773 ACCESSORS(Tuple3, value2, Object, kValue2Offset) 5774 ACCESSORS(Tuple3, value2, Object, kValue2Offset)
5774 ACCESSORS(Tuple3, value3, Object, kValue3Offset) 5775 ACCESSORS(Tuple3, value3, Object, kValue3Offset)
(...skipping 2631 matching lines...)
8406 #undef WRITE_INT64_FIELD 8407 #undef WRITE_INT64_FIELD
8407 #undef READ_BYTE_FIELD 8408 #undef READ_BYTE_FIELD
8408 #undef WRITE_BYTE_FIELD 8409 #undef WRITE_BYTE_FIELD
8409 #undef NOBARRIER_READ_BYTE_FIELD 8410 #undef NOBARRIER_READ_BYTE_FIELD
8410 #undef NOBARRIER_WRITE_BYTE_FIELD 8411 #undef NOBARRIER_WRITE_BYTE_FIELD
8411 8412
8412 } // namespace internal 8413 } // namespace internal
8413 } // namespace v8 8414 } // namespace v8
8414 8415
8415 #endif // V8_OBJECTS_INL_H_ 8416 #endif // V8_OBJECTS_INL_H_
OLDNEW
« no previous file with comments | « src/objects-debug.cc ('k') | src/objects-printer.cc » ('j') | no next file with comments »

Powered by Google App Engine