Reviewers: Michael Starzinger,

Description:
Remove extraneous forced rejuvenations in code aging

[email protected]


Please review this at https://codereview.chromium.org/11421219/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files:
  M src/compiler.cc
  M src/flag-definitions.h
  M src/objects.h
  M src/objects.cc


Index: src/compiler.cc
diff --git a/src/compiler.cc b/src/compiler.cc
index ff6e05d6070cc14b620f2ce3868edf94360214b7..5779aae81bcb92e1b8bff82f68b177bb76bcd871 100644
--- a/src/compiler.cc
+++ b/src/compiler.cc
@@ -618,7 +618,6 @@ Handle<SharedFunctionInfo> Compiler::Compile(Handle<String> source,
     if (result->ic_age() != HEAP->global_ic_age()) {
       result->ResetForNewContext(HEAP->global_ic_age());
     }
-    result->code()->MakeYoung();
   }

   if (result.is_null()) isolate->ReportPendingMessages();
@@ -680,7 +679,6 @@ Handle<SharedFunctionInfo> Compiler::CompileEval(Handle<String> source,
     if (result->ic_age() != HEAP->global_ic_age()) {
       result->ResetForNewContext(HEAP->global_ic_age());
     }
-    result->code()->MakeYoung();
   }

   return result;
Index: src/flag-definitions.h
diff --git a/src/flag-definitions.h b/src/flag-definitions.h
index b0a5210478b853fb56b43b6aa9f8a192eb703e96..207fceec273658e939e97bce2d934035b9342ae8 100644
--- a/src/flag-definitions.h
+++ b/src/flag-definitions.h
@@ -400,7 +400,7 @@ DEFINE_bool(flush_code, true,
             "flush code that we expect not to use again (during full gc)")
 DEFINE_bool(flush_code_incrementally, true,
             "flush code that we expect not to use again (incrementally)")
-DEFINE_bool(age_code, false,
+DEFINE_bool(age_code, true,
             "track un-executed functions to age code and flush only "
             "old code")
 DEFINE_bool(incremental_marking, true, "use incremental marking")
Index: src/objects.cc
diff --git a/src/objects.cc b/src/objects.cc
index d444355e4c2074987de5c18fee37548d174cce25..c5ab315ee97842158c8f2365c7f4fcf91fc57b37 100644
--- a/src/objects.cc
+++ b/src/objects.cc
@@ -7972,7 +7972,6 @@ void SharedFunctionInfo::InstallFromOptimizedCodeMap(JSFunction* function,
   ASSERT(code != NULL);
ASSERT(function->context()->native_context() == code_map->get(index - 1));
   function->ReplaceCode(code);
-  code->MakeYoung();
 }


@@ -8841,14 +8840,6 @@ void Code::MakeCodeAgeSequenceYoung(byte* sequence) {
 }


-void Code::MakeYoung() {
-  byte* sequence = FindCodeAgeSequence();
-  if (sequence != NULL) {
-    PatchPlatformCodeAge(sequence, kNoAge, NO_MARKING_PARITY);
-  }
-}
-
-
 void Code::MakeOlder(MarkingParity current_parity) {
   byte* sequence = FindCodeAgeSequence();
   if (sequence != NULL) {
Index: src/objects.h
diff --git a/src/objects.h b/src/objects.h
index c476692d7638d288590bed935622d19e90828eb9..9737e7fe1624eafb8bb6010d04bb4605ca0546a3 100644
--- a/src/objects.h
+++ b/src/objects.h
@@ -4573,7 +4573,6 @@ class Code: public HeapObject {

   // Code aging
   static void MakeCodeAgeSequenceYoung(byte* sequence);
-  void MakeYoung();
   void MakeOlder(MarkingParity);
   static bool IsYoungSequence(byte* sequence);
   bool IsOld();


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to