| Index: src/objects-inl.h
|
| diff --git a/src/objects-inl.h b/src/objects-inl.h
|
| index 0007b37ca99a85ebc7643c9309e7a78834847e5d..0e43e1d3a0fbd434bf311fa3dffc579b3b73a3ee 100644
|
| --- a/src/objects-inl.h
|
| +++ b/src/objects-inl.h
|
| @@ -5092,6 +5092,7 @@ ACCESSORS(CallHandlerInfo, callback, Object, kCallbackOffset)
|
| ACCESSORS(CallHandlerInfo, data, Object, kDataOffset)
|
|
|
| ACCESSORS(TemplateInfo, tag, Object, kTagOffset)
|
| +SMI_ACCESSORS(TemplateInfo, number_of_properties, kNumberOfProperties)
|
| ACCESSORS(TemplateInfo, property_list, Object, kPropertyListOffset)
|
| ACCESSORS(TemplateInfo, property_accessors, Object, kPropertyAccessorsOffset)
|
|
|
| @@ -6945,11 +6946,13 @@ void Map::ClearCodeCache(Heap* heap) {
|
| }
|
|
|
|
|
| -int Map::SlackForArraySize(int old_size, int size_limit) {
|
| +int Map::SlackForArraySize(bool is_prototype_map, int old_size,
|
| + int size_limit) {
|
| const int max_slack = size_limit - old_size;
|
| - CHECK(max_slack >= 0);
|
| + CHECK_LE(0, max_slack);
|
| if (old_size < 4) return Min(max_slack, 1);
|
| - return Min(max_slack, old_size / 2);
|
| + if (is_prototype_map) return Min(max_slack, 4);
|
| + return Min(max_slack, old_size / 4);
|
| }
|
|
|
|
|
|
|