Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(430)

Side by Side Diff: src/heap.h

Issue 362993002: Version 3.27.34.4 (merged r22003) (Closed) Base URL: https://v8.googlecode.com/svn/branches/3.27
Patch Set: Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/global-handles.cc ('k') | src/heap.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_HEAP_H_ 5 #ifndef V8_HEAP_H_
6 #define V8_HEAP_H_ 6 #define V8_HEAP_H_
7 7
8 #include <cmath> 8 #include <cmath>
9 9
10 #include "src/allocation.h" 10 #include "src/allocation.h"
(...skipping 1067 matching lines...) Expand 10 before | Expand all | Expand 10 after
1078 // Sizes are in MB. 1078 // Sizes are in MB.
1079 static const int kMaxExecutableSizeLowMemoryDevice = 1079 static const int kMaxExecutableSizeLowMemoryDevice =
1080 128 * kPointerMultiplier; 1080 128 * kPointerMultiplier;
1081 static const int kMaxExecutableSizeMediumMemoryDevice = 1081 static const int kMaxExecutableSizeMediumMemoryDevice =
1082 256 * kPointerMultiplier; 1082 256 * kPointerMultiplier;
1083 static const int kMaxExecutableSizeHighMemoryDevice = 1083 static const int kMaxExecutableSizeHighMemoryDevice =
1084 512 * kPointerMultiplier; 1084 512 * kPointerMultiplier;
1085 static const int kMaxExecutableSizeHugeMemoryDevice = 1085 static const int kMaxExecutableSizeHugeMemoryDevice =
1086 700 * kPointerMultiplier; 1086 700 * kPointerMultiplier;
1087 1087
1088 intptr_t OldGenerationAllocationLimit(intptr_t old_gen_size) { 1088 intptr_t OldGenerationAllocationLimit(intptr_t old_gen_size,
1089 intptr_t limit = FLAG_stress_compaction 1089 int freed_global_handles);
1090 ? old_gen_size + old_gen_size / 10
1091 : old_gen_size * old_space_growing_factor_;
1092 limit = Max(limit, kMinimumOldGenerationAllocationLimit);
1093 limit += new_space_.Capacity();
1094 intptr_t halfway_to_the_max = (old_gen_size + max_old_generation_size_) / 2;
1095 return Min(limit, halfway_to_the_max);
1096 }
1097 1090
1098 // Indicates whether inline bump-pointer allocation has been disabled. 1091 // Indicates whether inline bump-pointer allocation has been disabled.
1099 bool inline_allocation_disabled() { return inline_allocation_disabled_; } 1092 bool inline_allocation_disabled() { return inline_allocation_disabled_; }
1100 1093
1101 // Switch whether inline bump-pointer allocation should be used. 1094 // Switch whether inline bump-pointer allocation should be used.
1102 void EnableInlineAllocation(); 1095 void EnableInlineAllocation();
1103 void DisableInlineAllocation(); 1096 void DisableInlineAllocation();
1104 1097
1105 // Implements the corresponding V8 API function. 1098 // Implements the corresponding V8 API function.
1106 bool IdleNotification(int hint); 1099 bool IdleNotification(int hint);
(...skipping 399 matching lines...) Expand 10 before | Expand all | Expand 10 after
1506 Object* roots_[kRootListLength]; 1499 Object* roots_[kRootListLength];
1507 1500
1508 size_t code_range_size_; 1501 size_t code_range_size_;
1509 int reserved_semispace_size_; 1502 int reserved_semispace_size_;
1510 int max_semi_space_size_; 1503 int max_semi_space_size_;
1511 int initial_semispace_size_; 1504 int initial_semispace_size_;
1512 intptr_t max_old_generation_size_; 1505 intptr_t max_old_generation_size_;
1513 intptr_t max_executable_size_; 1506 intptr_t max_executable_size_;
1514 intptr_t maximum_committed_; 1507 intptr_t maximum_committed_;
1515 1508
1516 // The old space growing factor is used in the old space heap growing
1517 // strategy. The new old space size is the current old space size times
1518 // old_space_growing_factor_.
1519 int old_space_growing_factor_;
1520
1521 // For keeping track of how much data has survived 1509 // For keeping track of how much data has survived
1522 // scavenge since last new space expansion. 1510 // scavenge since last new space expansion.
1523 int survived_since_last_expansion_; 1511 int survived_since_last_expansion_;
1524 1512
1525 // For keeping track on when to flush RegExp code. 1513 // For keeping track on when to flush RegExp code.
1526 int sweep_generation_; 1514 int sweep_generation_;
1527 1515
1528 int always_allocate_scope_depth_; 1516 int always_allocate_scope_depth_;
1529 int linear_allocation_scope_depth_; 1517 int linear_allocation_scope_depth_;
1530 1518
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
1579 // remain until the next failure and garbage collection. 1567 // remain until the next failure and garbage collection.
1580 int allocation_timeout_; 1568 int allocation_timeout_;
1581 #endif // DEBUG 1569 #endif // DEBUG
1582 1570
1583 // Limit that triggers a global GC on the next (normally caused) GC. This 1571 // Limit that triggers a global GC on the next (normally caused) GC. This
1584 // is checked when we have already decided to do a GC to help determine 1572 // is checked when we have already decided to do a GC to help determine
1585 // which collector to invoke, before expanding a paged space in the old 1573 // which collector to invoke, before expanding a paged space in the old
1586 // generation and on every allocation in large object space. 1574 // generation and on every allocation in large object space.
1587 intptr_t old_generation_allocation_limit_; 1575 intptr_t old_generation_allocation_limit_;
1588 1576
1589 // Used to adjust the limits that control the timing of the next GC.
1590 intptr_t size_of_old_gen_at_last_old_space_gc_;
1591
1592 // Indicates that an allocation has failed in the old generation since the 1577 // Indicates that an allocation has failed in the old generation since the
1593 // last GC. 1578 // last GC.
1594 bool old_gen_exhausted_; 1579 bool old_gen_exhausted_;
1595 1580
1596 // Indicates that inline bump-pointer allocation has been globally disabled 1581 // Indicates that inline bump-pointer allocation has been globally disabled
1597 // for all spaces. This is used to disable allocations in generated code. 1582 // for all spaces. This is used to disable allocations in generated code.
1598 bool inline_allocation_disabled_; 1583 bool inline_allocation_disabled_;
1599 1584
1600 // Weak list heads, threaded through the objects. 1585 // Weak list heads, threaded through the objects.
1601 // List heads are initilized lazily and contain the undefined_value at start. 1586 // List heads are initilized lazily and contain the undefined_value at start.
(...skipping 1159 matching lines...) Expand 10 before | Expand all | Expand 10 after
2761 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. 2746 DisallowHeapAllocation no_allocation; // i.e. no gc allowed.
2762 2747
2763 private: 2748 private:
2764 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); 2749 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer);
2765 }; 2750 };
2766 #endif // DEBUG 2751 #endif // DEBUG
2767 2752
2768 } } // namespace v8::internal 2753 } } // namespace v8::internal
2769 2754
2770 #endif // V8_HEAP_H_ 2755 #endif // V8_HEAP_H_
OLDNEW
« no previous file with comments | « src/global-handles.cc ('k') | src/heap.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698