From 8a2a4bf983cb2e99734be3b2a83b7a013418c056 Mon Sep 17 00:00:00 2001 From: "yangguo@chromium.org" Date: Wed, 9 Jul 2014 07:32:55 +0000 Subject: [PATCH] Flush ICache after deserializing code. R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/375223002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/serialize.cc | 1 + src/serialize.h | 4 ++-- test/cctest/cctest.status | 3 --- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/serialize.cc b/src/serialize.cc index da298a4..ca7adcb 100644 --- a/src/serialize.cc +++ b/src/serialize.cc @@ -1907,6 +1907,7 @@ Object* CodeSerializer::Deserialize(Isolate* isolate, ScriptData* data) { } Object* root; deserializer.DeserializePartial(isolate, &root); + deserializer.FlushICacheForNewCodeObjects(); ASSERT(root->IsSharedFunctionInfo()); return root; } diff --git a/src/serialize.h b/src/serialize.h index df9cb68..6cc90ea 100644 --- a/src/serialize.h +++ b/src/serialize.h @@ -249,6 +249,8 @@ class Deserializer: public SerializerDeserializer { reservations_[space_number] = reservation; } + void FlushICacheForNewCodeObjects(); + private: virtual void VisitPointers(Object** start, Object** end); @@ -286,8 +288,6 @@ class Deserializer: public SerializerDeserializer { return HeapObject::FromAddress(high_water_[space] - offset); } - void FlushICacheForNewCodeObjects(); - // Cached current isolate. Isolate* isolate_; diff --git a/test/cctest/cctest.status b/test/cctest/cctest.status index 40859c1..7820f15 100644 --- a/test/cctest/cctest.status +++ b/test/cctest/cctest.status @@ -175,9 +175,6 @@ ############################################################################## ['arch == arm', { - # Temporarily disabled test - 'test-compiler/SerializeToplevel': [SKIP], - # BUG(355): Test crashes on ARM. 'test-log/ProfLazyMode': [SKIP], -- 2.7.4