From: kasperl@chromium.org Date: Fri, 5 Sep 2008 11:23:00 +0000 (+0000) Subject: Add I-cache flushing to Code::Relocate. No need to call it X-Git-Tag: upstream/4.7.83~25456 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=57fcbc370c7de251e0b7f4831ef8ff0fcea34a71;p=platform%2Fupstream%2Fv8.git Add I-cache flushing to Code::Relocate. No need to call it from Heap::CopyCode anymore. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- diff --git a/AUTHORS b/AUTHORS index fc32ddc98..2e8527871 100644 --- a/AUTHORS +++ b/AUTHORS @@ -7,3 +7,4 @@ Google Inc. Rene Rebe Rafal Krypa +Jay Freeman diff --git a/src/heap.cc b/src/heap.cc index b04b4c1c4..395a6b0e7 100644 --- a/src/heap.cc +++ b/src/heap.cc @@ -1530,9 +1530,6 @@ Object* Heap::CreateCode(const CodeDesc& desc, #ifdef DEBUG code->Verify(); #endif - - CPU::FlushICache(code->instruction_start(), code->instruction_size()); - return code; } @@ -1553,9 +1550,6 @@ Object* Heap::CopyCode(Code* code) { // Relocate the copy. Code* new_code = Code::cast(result); new_code->Relocate(new_addr - old_addr); - - CPU::FlushICache(new_code->instruction_start(), new_code->instruction_size()); - return new_code; } diff --git a/src/objects.cc b/src/objects.cc index 2be4ccd80..00ee12a03 100644 --- a/src/objects.cc +++ b/src/objects.cc @@ -4072,6 +4072,7 @@ void Code::Relocate(int delta) { for (RelocIterator it(this, RelocInfo::kApplyMask); !it.done(); it.next()) { it.rinfo()->apply(delta); } + CPU::FlushICache(instruction_start(), instruction_size()); } @@ -4112,6 +4113,7 @@ void Code::CopyFrom(const CodeDesc& desc) { it.rinfo()->apply(delta); } } + CPU::FlushICache(instruction_start(), instruction_size()); }