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

Unified Diff: src/heap/scavenger.h

Issue 2002013002: [heap] Pass a force_promotion flag to the evacuation routine in the scavenger. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Rebase. Created 4 years, 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/heap/heap.cc ('k') | src/heap/scavenger.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/heap/scavenger.h
diff --git a/src/heap/scavenger.h b/src/heap/scavenger.h
index 54fe6ffdf92f50b4a017bd4216b0005011b542a6..3db2e5d470f797a759bec2ccca7a40868f4a119c 100644
--- a/src/heap/scavenger.h
+++ b/src/heap/scavenger.h
@@ -12,7 +12,8 @@ namespace v8 {
namespace internal {
typedef void (*ScavengingCallback)(Map* map, HeapObject** slot,
- HeapObject* object);
+ HeapObject* object,
+ PromotionMode promotion_mode);
class Scavenger {
public:
@@ -25,12 +26,15 @@ class Scavenger {
// necessary, the object might be promoted to an old space. The caller must
// ensure the precondition that the object is (a) a heap object and (b) in
// the heap's from space.
- static inline void ScavengeObject(HeapObject** p, HeapObject* object);
- static inline SlotCallbackResult CheckAndScavengeObject(Heap* heap,
- Address slot_address);
+ static inline void ScavengeObject(
+ HeapObject** p, HeapObject* object,
+ PromotionMode promotion_mode = DEFAULT_PROMOTION);
+ static inline SlotCallbackResult CheckAndScavengeObject(
+ Heap* heap, Address slot_address, PromotionMode promotion_mode);
// Slow part of {ScavengeObject} above.
- static void ScavengeObjectSlow(HeapObject** p, HeapObject* object);
+ static void ScavengeObjectSlow(HeapObject** p, HeapObject* object,
+ PromotionMode promotion_mode);
// Chooses an appropriate static visitor table depending on the current state
// of the heap (i.e. incremental marking, logging and profiling).
« no previous file with comments | « src/heap/heap.cc ('k') | src/heap/scavenger.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698