Index: src/serialize.cc |
diff --git a/src/serialize.cc b/src/serialize.cc |
index a8df23844103ff9c943aa50066eeee6beb77c65b..a0a66f9e9f1b952d11a358d8d1e2941f40dbd270 100644 |
--- a/src/serialize.cc |
+++ b/src/serialize.cc |
@@ -794,6 +794,15 @@ Deserializer::Deserializer(SnapshotByteSource* source) |
} |
+void Deserializer::FlushICacheForNewCodeObjects() { |
+ PageIterator it(isolate_->heap()->code_space()); |
+ while (it.has_next()) { |
Sven Panne
2013/12/16 12:53:54
Not directly your code, but I need a place to whin
|
+ Page* p = it.next(); |
+ CPU::FlushICache(p->area_start(), p->area_end() - p->area_start()); |
+ } |
+} |
+ |
+ |
void Deserializer::Deserialize(Isolate* isolate) { |
isolate_ = isolate; |
ASSERT(isolate_ != NULL); |
@@ -830,6 +839,8 @@ void Deserializer::Deserialize(Isolate* isolate) { |
} |
} |
+ FlushICacheForNewCodeObjects(); |
+ |
// Issue code events for newly deserialized code objects. |
LOG_CODE_EVENT(isolate_, LogCodeObjects()); |
LOG_CODE_EVENT(isolate_, LogCompiledFunctions()); |