| Index: src/heap.cc | 
| =================================================================== | 
| --- src/heap.cc	(revision 3925) | 
| +++ src/heap.cc	(working copy) | 
| @@ -1206,7 +1206,7 @@ | 
| map->set_inobject_properties(0); | 
| map->set_pre_allocated_property_fields(0); | 
| map->set_instance_descriptors(empty_descriptor_array()); | 
| -  map->set_code_cache(empty_fixed_array()); | 
| +  map->set_code_cache(undefined_value()); | 
| map->set_unused_property_fields(0); | 
| map->set_bit_field(0); | 
| map->set_bit_field2(1 << Map::kIsExtensible); | 
| @@ -1221,6 +1221,16 @@ | 
| } | 
|  | 
|  | 
| +Object* Heap::AllocateCodeCache() { | 
| +  Object* result = AllocateStruct(CODE_CACHE_TYPE); | 
| +  if (result->IsFailure()) return result; | 
| +  CodeCache* code_cache = CodeCache::cast(result); | 
| +  code_cache->set_default_cache(empty_fixed_array()); | 
| +  code_cache->set_normal_type_cache(undefined_value()); | 
| +  return code_cache; | 
| +} | 
| + | 
| + | 
| const Heap::StringTypeTable Heap::string_type_table[] = { | 
| #define STRING_TYPE_ELEMENT(type, size, name, camel_name)                      \ | 
| {type, size, k##camel_name##MapRootIndex}, | 
| @@ -1277,13 +1287,13 @@ | 
|  | 
| // Fix the instance_descriptors for the existing maps. | 
| meta_map()->set_instance_descriptors(empty_descriptor_array()); | 
| -  meta_map()->set_code_cache(empty_fixed_array()); | 
| +  meta_map()->set_code_cache(undefined_value()); | 
|  | 
| fixed_array_map()->set_instance_descriptors(empty_descriptor_array()); | 
| -  fixed_array_map()->set_code_cache(empty_fixed_array()); | 
| +  fixed_array_map()->set_code_cache(undefined_value()); | 
|  | 
| oddball_map()->set_instance_descriptors(empty_descriptor_array()); | 
| -  oddball_map()->set_code_cache(empty_fixed_array()); | 
| +  oddball_map()->set_code_cache(undefined_value()); | 
|  | 
| // Fix prototype object for existing maps. | 
| meta_map()->set_prototype(null_value()); | 
|  |