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

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. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« 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...) Expand 10 before | Expand all | Expand 10 after
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...) Expand 10 before | Expand all | Expand 10 after
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
This is Rietveld 408576698