mirror of
https://github.com/tiennm99/FBcount.git
synced 2026-05-18 21:25:23 +00:00
54 lines
1.8 KiB
Diff
54 lines
1.8 KiB
Diff
commit 6ca8f782aac4df7530d9fd460ec0fabd46628e1d
|
|
Author: yangguo@chromium.org <yangguo@chromium.org>
|
|
Date: Fri Oct 10 10:51:34 2014 +0000
|
|
|
|
Reset code age when serializing code objects.
|
|
|
|
R=mvstanton@chromium.org
|
|
|
|
Review URL: https://codereview.chromium.org/642283002
|
|
|
|
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24523 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
|
|
|
diff --git a/src/objects.cc b/src/objects.cc
|
|
index 9f25145..3eedfe9 100644
|
|
--- node/deps/v8/src/objects.cc
|
|
+++ node/deps/v8/src/objects.cc
|
|
@@ -10463,6 +10463,12 @@ static Code::Age EffectiveAge(Code::Age age) {
|
|
}
|
|
|
|
|
|
+void Code::MakeYoung() {
|
|
+ byte* sequence = FindCodeAgeSequence();
|
|
+ if (sequence != NULL) MakeCodeAgeSequenceYoung(sequence, GetIsolate());
|
|
+}
|
|
+
|
|
+
|
|
void Code::MakeOlder(MarkingParity current_parity) {
|
|
byte* sequence = FindCodeAgeSequence();
|
|
if (sequence != NULL) {
|
|
diff --git a/src/objects.h b/src/objects.h
|
|
index bcbea12..1faae86 100644
|
|
--- node/deps/v8/src/objects.h
|
|
+++ node/deps/v8/src/objects.h
|
|
@@ -5310,6 +5310,7 @@ class Code: public HeapObject {
|
|
// compilation stub.
|
|
static void MakeCodeAgeSequenceYoung(byte* sequence, Isolate* isolate);
|
|
static void MarkCodeAsExecuted(byte* sequence, Isolate* isolate);
|
|
+ void MakeYoung();
|
|
void MakeOlder(MarkingParity);
|
|
static bool IsYoungSequence(Isolate* isolate, byte* sequence);
|
|
bool IsOld();
|
|
diff --git a/src/serialize.cc b/src/serialize.cc
|
|
index 0cc629d..c287219 100644
|
|
--- node/deps/v8/src/serialize.cc
|
|
+++ node/deps/v8/src/serialize.cc
|
|
@@ -1991,6 +1991,7 @@ void CodeSerializer::SerializeObject(Object* o, HowToCode how_to_code,
|
|
return;
|
|
// TODO(yangguo): add special handling to canonicalize ICs.
|
|
case Code::FUNCTION:
|
|
+ code_object->MakeYoung();
|
|
SerializeHeapObject(code_object, how_to_code, where_to_point);
|
|
return;
|
|
}
|