Index: src/heap.cc |
=================================================================== |
--- src/heap.cc (revision 7683) |
+++ src/heap.cc (working copy) |
@@ -1347,7 +1347,7 @@ |
#if defined(ENABLE_LOGGING_AND_PROFILING) |
Isolate* isolate = heap->isolate(); |
if (isolate->logger()->is_logging() || |
- isolate->cpu_profiler()->is_profiling()) { |
+ CpuProfiler::is_profiling(isolate)) { |
if (target->IsSharedFunctionInfo()) { |
PROFILE(isolate, SharedFunctionInfoMoveEvent( |
source->address(), target->address())); |
@@ -1522,8 +1522,8 @@ |
return; |
} |
- if (isolate()->logger()->is_logging() || |
- isolate()->cpu_profiler()->is_profiling() || |
+ if (isolate()->logger()->is_logging() | |
+ CpuProfiler::is_profiling(isolate()) || |
(isolate()->heap_profiler() != NULL && |
isolate()->heap_profiler()->is_profiling())) { |
// If one of the isolates is doing scavenge at this moment of time |
@@ -1594,6 +1594,7 @@ |
map->set_pre_allocated_property_fields(0); |
map->set_instance_descriptors(empty_descriptor_array()); |
map->set_code_cache(empty_fixed_array()); |
+ map->set_prototype_transitions(empty_fixed_array()); |
map->set_unused_property_fields(0); |
map->set_bit_field(0); |
map->set_bit_field2((1 << Map::kIsExtensible) | (1 << Map::kHasFastElements)); |
@@ -1686,12 +1687,15 @@ |
// 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_prototype_transitions(empty_fixed_array()); |
fixed_array_map()->set_instance_descriptors(empty_descriptor_array()); |
fixed_array_map()->set_code_cache(empty_fixed_array()); |
+ fixed_array_map()->set_prototype_transitions(empty_fixed_array()); |
oddball_map()->set_instance_descriptors(empty_descriptor_array()); |
oddball_map()->set_code_cache(empty_fixed_array()); |
+ oddball_map()->set_prototype_transitions(empty_fixed_array()); |
// Fix prototype object for existing maps. |
meta_map()->set_prototype(null_value()); |
@@ -1800,6 +1804,12 @@ |
} |
set_external_float_array_map(Map::cast(obj)); |
+ { MaybeObject* maybe_obj = AllocateMap(EXTERNAL_DOUBLE_ARRAY_TYPE, |
+ ExternalArray::kAlignedSize); |
+ if (!maybe_obj->ToObject(&obj)) return false; |
+ } |
+ set_external_double_array_map(Map::cast(obj)); |
+ |
{ MaybeObject* maybe_obj = AllocateMap(CODE_TYPE, kVariableSizeSentinel); |
if (!maybe_obj->ToObject(&obj)) return false; |
} |
@@ -2288,6 +2298,8 @@ |
return kExternalUnsignedIntArrayMapRootIndex; |
case kExternalFloatArray: |
return kExternalFloatArrayMapRootIndex; |
+ case kExternalDoubleArray: |
+ return kExternalDoubleArrayMapRootIndex; |
case kExternalPixelArray: |
return kExternalPixelArrayMapRootIndex; |
default: |