| Index: src/heap.cc
|
| ===================================================================
|
| --- src/heap.cc (revision 5541)
|
| +++ src/heap.cc (working copy)
|
| @@ -63,8 +63,8 @@
|
| CellSpace* Heap::cell_space_ = NULL;
|
| LargeObjectSpace* Heap::lo_space_ = NULL;
|
|
|
| -int Heap::old_gen_promotion_limit_ = kMinimumPromotionLimit;
|
| -int Heap::old_gen_allocation_limit_ = kMinimumAllocationLimit;
|
| +intptr_t Heap::old_gen_promotion_limit_ = kMinimumPromotionLimit;
|
| +intptr_t Heap::old_gen_allocation_limit_ = kMinimumAllocationLimit;
|
|
|
| int Heap::old_gen_exhausted_ = false;
|
|
|
| @@ -75,17 +75,17 @@
|
| // a multiple of Page::kPageSize.
|
| #if defined(ANDROID)
|
| int Heap::max_semispace_size_ = 2*MB;
|
| -int Heap::max_old_generation_size_ = 192*MB;
|
| +intptr_t Heap::max_old_generation_size_ = 192*MB;
|
| int Heap::initial_semispace_size_ = 128*KB;
|
| size_t Heap::code_range_size_ = 0;
|
| #elif defined(V8_TARGET_ARCH_X64)
|
| int Heap::max_semispace_size_ = 16*MB;
|
| -int Heap::max_old_generation_size_ = 1*GB;
|
| +intptr_t Heap::max_old_generation_size_ = 1*GB;
|
| int Heap::initial_semispace_size_ = 1*MB;
|
| size_t Heap::code_range_size_ = 512*MB;
|
| #else
|
| int Heap::max_semispace_size_ = 8*MB;
|
| -int Heap::max_old_generation_size_ = 512*MB;
|
| +intptr_t Heap::max_old_generation_size_ = 512*MB;
|
| int Heap::initial_semispace_size_ = 512*KB;
|
| size_t Heap::code_range_size_ = 0;
|
| #endif
|
| @@ -108,7 +108,7 @@
|
| // Will be 4 * reserved_semispace_size_ to ensure that young
|
| // generation can be aligned to its size.
|
| int Heap::survived_since_last_expansion_ = 0;
|
| -int Heap::external_allocation_limit_ = 0;
|
| +intptr_t Heap::external_allocation_limit_ = 0;
|
|
|
| Heap::HeapState Heap::gc_state_ = NOT_IN_GC;
|
|
|
| @@ -137,10 +137,10 @@
|
| bool Heap::disallow_allocation_failure_ = false;
|
| #endif // DEBUG
|
|
|
| -int GCTracer::alive_after_last_gc_ = 0;
|
| +intptr_t GCTracer::alive_after_last_gc_ = 0;
|
| double GCTracer::last_gc_end_timestamp_ = 0.0;
|
| int GCTracer::max_gc_pause_ = 0;
|
| -int GCTracer::max_alive_after_gc_ = 0;
|
| +intptr_t GCTracer::max_alive_after_gc_ = 0;
|
| int GCTracer::min_in_mutator_ = kMaxInt;
|
|
|
| int Heap::Capacity() {
|
| @@ -289,33 +289,46 @@
|
| #if defined(ENABLE_LOGGING_AND_PROFILING)
|
| void Heap::PrintShortHeapStatistics() {
|
| if (!FLAG_trace_gc_verbose) return;
|
| - PrintF("Memory allocator, used: %8d, available: %8d\n",
|
| + PrintF("Memory allocator, used: %8" V8_PTR_PREFIX "d"
|
| + ", available: %8" V8_PTR_PREFIX "d\n",
|
| MemoryAllocator::Size(),
|
| MemoryAllocator::Available());
|
| - PrintF("New space, used: %8d, available: %8d\n",
|
| + PrintF("New space, used: %8" V8_PTR_PREFIX "d"
|
| + ", available: %8" V8_PTR_PREFIX "d\n",
|
| Heap::new_space_.Size(),
|
| new_space_.Available());
|
| - PrintF("Old pointers, used: %8d, available: %8d, waste: %8d\n",
|
| + PrintF("Old pointers, used: %8" V8_PTR_PREFIX "d"
|
| + ", available: %8" V8_PTR_PREFIX "d"
|
| + ", waste: %8" V8_PTR_PREFIX "d\n",
|
| old_pointer_space_->Size(),
|
| old_pointer_space_->Available(),
|
| old_pointer_space_->Waste());
|
| - PrintF("Old data space, used: %8d, available: %8d, waste: %8d\n",
|
| + PrintF("Old data space, used: %8" V8_PTR_PREFIX "d"
|
| + ", available: %8" V8_PTR_PREFIX "d"
|
| + ", waste: %8" V8_PTR_PREFIX "d\n",
|
| old_data_space_->Size(),
|
| old_data_space_->Available(),
|
| old_data_space_->Waste());
|
| - PrintF("Code space, used: %8d, available: %8d, waste: %8d\n",
|
| + PrintF("Code space, used: %8" V8_PTR_PREFIX "d"
|
| + ", available: %8" V8_PTR_PREFIX "d"
|
| + ", waste: %8" V8_PTR_PREFIX "d\n",
|
| code_space_->Size(),
|
| code_space_->Available(),
|
| code_space_->Waste());
|
| - PrintF("Map space, used: %8d, available: %8d, waste: %8d\n",
|
| + PrintF("Map space, used: %8" V8_PTR_PREFIX "d"
|
| + ", available: %8" V8_PTR_PREFIX "d"
|
| + ", waste: %8" V8_PTR_PREFIX "d\n",
|
| map_space_->Size(),
|
| map_space_->Available(),
|
| map_space_->Waste());
|
| - PrintF("Cell space, used: %8d, available: %8d, waste: %8d\n",
|
| + PrintF("Cell space, used: %8" V8_PTR_PREFIX "d"
|
| + ", available: %8" V8_PTR_PREFIX "d"
|
| + ", waste: %8" V8_PTR_PREFIX "d\n",
|
| cell_space_->Size(),
|
| cell_space_->Available(),
|
| cell_space_->Waste());
|
| - PrintF("Large object space, used: %8d, avaialble: %8d\n",
|
| + PrintF("Large object space, used: %8" V8_PTR_PREFIX "d"
|
| + ", available: %8" V8_PTR_PREFIX "d\n",
|
| lo_space_->Size(),
|
| lo_space_->Available());
|
| }
|
| @@ -364,8 +377,8 @@
|
| #endif
|
| }
|
|
|
| -int Heap::SizeOfObjects() {
|
| - int total = 0;
|
| +intptr_t Heap::SizeOfObjects() {
|
| + intptr_t total = 0;
|
| AllSpaces spaces;
|
| for (Space* space = spaces.next(); space != NULL; space = spaces.next()) {
|
| total += space->Size();
|
| @@ -962,7 +975,7 @@
|
| DescriptorLookupCache::Clear();
|
|
|
| // Used for updating survived_since_last_expansion_ at function end.
|
| - int survived_watermark = PromotedSpaceSize();
|
| + intptr_t survived_watermark = PromotedSpaceSize();
|
|
|
| CheckNewSpaceExpansionCriteria();
|
|
|
| @@ -3496,8 +3509,10 @@
|
| PrintF(">>>>>> =============== %s (%d) =============== >>>>>>\n",
|
| title, gc_count_);
|
| PrintF("mark-compact GC : %d\n", mc_count_);
|
| - PrintF("old_gen_promotion_limit_ %d\n", old_gen_promotion_limit_);
|
| - PrintF("old_gen_allocation_limit_ %d\n", old_gen_allocation_limit_);
|
| + PrintF("old_gen_promotion_limit_ %" V8_PTR_PREFIX "d\n",
|
| + old_gen_promotion_limit_);
|
| + PrintF("old_gen_allocation_limit_ %" V8_PTR_PREFIX "d\n",
|
| + old_gen_allocation_limit_);
|
|
|
| PrintF("\n");
|
| PrintF("Number of handles : %d\n", HandleScope::NumberOfHandles());
|
| @@ -4069,7 +4084,8 @@
|
|
|
|
|
| bool Heap::ConfigureHeapDefault() {
|
| - return ConfigureHeap(FLAG_max_new_space_size / 2, FLAG_max_old_space_size);
|
| + return ConfigureHeap(
|
| + FLAG_max_new_space_size * (KB / 2), FLAG_max_old_space_size * MB);
|
| }
|
|
|
|
|
| @@ -4111,7 +4127,7 @@
|
| }
|
|
|
|
|
| -int Heap::PromotedSpaceSize() {
|
| +intptr_t Heap::PromotedSpaceSize() {
|
| return old_pointer_space_->Size()
|
| + old_data_space_->Size()
|
| + code_space_->Size()
|
| @@ -4257,7 +4273,8 @@
|
| PrintF("mark_compact_count=%d ", mc_count_);
|
| PrintF("max_gc_pause=%d ", GCTracer::get_max_gc_pause());
|
| PrintF("min_in_mutator=%d ", GCTracer::get_min_in_mutator());
|
| - PrintF("max_alive_after_gc=%d ", GCTracer::get_max_alive_after_gc());
|
| + PrintF("max_alive_after_gc=%" V8_PTR_PREFIX "d ",
|
| + GCTracer::get_max_alive_after_gc());
|
| PrintF("\n\n");
|
| }
|
|
|
| @@ -4383,7 +4400,9 @@
|
| public:
|
| void VisitPointers(Object** start, Object** end) {
|
| for (Object** p = start; p < end; p++)
|
| - PrintF(" handle %p to %p\n", p, *p);
|
| + PrintF(" handle %p to %p\n",
|
| + reinterpret_cast<void*>(p),
|
| + reinterpret_cast<void*>(*p));
|
| }
|
| };
|
|
|
| @@ -4736,8 +4755,8 @@
|
| #endif
|
|
|
|
|
| -static int CountTotalHolesSize() {
|
| - int holes_size = 0;
|
| +static intptr_t CountTotalHolesSize() {
|
| + intptr_t holes_size = 0;
|
| OldSpaces spaces;
|
| for (OldSpace* space = spaces.next();
|
| space != NULL;
|
| @@ -4835,13 +4854,14 @@
|
| PrintF("sweepns=%d ", static_cast<int>(scopes_[Scope::MC_SWEEP_NEWSPACE]));
|
| PrintF("compact=%d ", static_cast<int>(scopes_[Scope::MC_COMPACT]));
|
|
|
| - PrintF("total_size_before=%d ", start_size_);
|
| - PrintF("total_size_after=%d ", Heap::SizeOfObjects());
|
| - PrintF("holes_size_before=%d ", in_free_list_or_wasted_before_gc_);
|
| - PrintF("holes_size_after=%d ", CountTotalHolesSize());
|
| + PrintF("total_size_before=%" V8_PTR_PREFIX "d ", start_size_);
|
| + PrintF("total_size_after=%" V8_PTR_PREFIX "d ", Heap::SizeOfObjects());
|
| + PrintF("holes_size_before=%" V8_PTR_PREFIX "d ",
|
| + in_free_list_or_wasted_before_gc_);
|
| + PrintF("holes_size_after=%" V8_PTR_PREFIX "d ", CountTotalHolesSize());
|
|
|
| - PrintF("allocated=%d ", allocated_since_last_gc_);
|
| - PrintF("promoted=%d ", promoted_objects_size_);
|
| + PrintF("allocated=%" V8_PTR_PREFIX "d ", allocated_since_last_gc_);
|
| + PrintF("promoted=%" V8_PTR_PREFIX "d ", promoted_objects_size_);
|
|
|
| PrintF("\n");
|
| }
|
|
|