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