R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
13042013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14089
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
// hidden strings) and is not a real identifier.
// Normalize the object if it will have too many fast properties.
Isolate* isolate = GetHeap()->isolate();
- if ((!IsIdentifier(isolate->unicode_cache(), name)
+ if ((!name->IsSymbol() && !IsIdentifier(isolate->unicode_cache(), name)
&& name != isolate->heap()->hidden_string()) ||
(map()->unused_property_fields() == 0 &&
TooManyFastProperties(properties()->length(), store_mode))) {
function TestKeySet(obj) {
+ assertTrue(%HasFastProperties(obj))
// Set the even symbols via assignment.
for (var i = 0; i < symbols.length; i += 2) {
obj[symbols[i]] = i
+ // Object should remain in fast mode until too many properties were added.
+ assertTrue(%HasFastProperties(obj) || i >= 30)
}
}