Index: src/factory.cc |
diff --git a/src/factory.cc b/src/factory.cc |
index 6da9a2e0b24447fb58cdc46b6731e85e8743e7a0..a7cc080fefa59d52c30f01bb2ed657f41c091b8f 100644 |
--- a/src/factory.cc |
+++ b/src/factory.cc |
@@ -626,11 +626,12 @@ Handle<Map> Factory::CopyMap(Handle<Map> src, |
int instance_size_delta = extra_inobject_properties * kPointerSize; |
int max_instance_size_delta = |
JSObject::kMaxInstanceSize - copy->instance_size(); |
- if (instance_size_delta > max_instance_size_delta) { |
+ int max_extra_properties = max_instance_size_delta >> kPointerSizeLog2; |
+ if (extra_inobject_properties > max_extra_properties) { |
// If the instance size overflows, we allocate as many properties |
// as we can as inobject properties. |
instance_size_delta = max_instance_size_delta; |
- extra_inobject_properties = max_instance_size_delta >> kPointerSizeLog2; |
+ extra_inobject_properties = max_extra_properties; |
} |
// Adjust the map with the extra inobject properties. |
int inobject_properties = |