Commit 9ecabf52 authored by verwaest@chromium.org's avatar verwaest@chromium.org

Make EnumCacheBridge immutable.

Review URL: https://chromiumcodereview.appspot.com/11048051

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 48d92f61
...@@ -6098,20 +6098,13 @@ void DescriptorArray::SetEnumCache(FixedArray* bridge_storage, ...@@ -6098,20 +6098,13 @@ void DescriptorArray::SetEnumCache(FixedArray* bridge_storage,
Object* new_index_cache) { Object* new_index_cache) {
ASSERT(bridge_storage->length() >= kEnumCacheBridgeLength); ASSERT(bridge_storage->length() >= kEnumCacheBridgeLength);
ASSERT(new_index_cache->IsSmi() || new_index_cache->IsFixedArray()); ASSERT(new_index_cache->IsSmi() || new_index_cache->IsFixedArray());
if (HasEnumCache()) { ASSERT(!IsEmpty());
ASSERT(new_cache->length() > GetEnumCache()->length()); ASSERT(!HasEnumCache() || new_cache->length() > GetEnumCache()->length());
FixedArray::cast(get(kEnumCacheIndex))-> FixedArray::cast(bridge_storage)->
set(kEnumCacheBridgeCacheIndex, new_cache); set(kEnumCacheBridgeCacheIndex, new_cache);
FixedArray::cast(get(kEnumCacheIndex))-> FixedArray::cast(bridge_storage)->
set(kEnumCacheBridgeIndicesCacheIndex, new_index_cache); set(kEnumCacheBridgeIndicesCacheIndex, new_index_cache);
} else { set(kEnumCacheIndex, bridge_storage);
ASSERT(!IsEmpty());
FixedArray::cast(bridge_storage)->
set(kEnumCacheBridgeCacheIndex, new_cache);
FixedArray::cast(bridge_storage)->
set(kEnumCacheBridgeIndicesCacheIndex, new_index_cache);
set(kEnumCacheIndex, bridge_storage);
}
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment