0c20a4c6aa
Drive-by: Refactor FlushInstructionCache to its own header. This removes dependencies of objects.cc and code.cc Bug: v8:8562 Change-Id: If23f3b9d4f2068e08c61c0f4b070ecfe1b9a6cc0 Reviewed-on: https://chromium-review.googlesource.com/c/1456081 Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#59435}
27 lines
689 B
C++
27 lines
689 B
C++
// Copyright 2019 the V8 project authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#include "src/flush-instruction-cache.h"
|
|
|
|
#include "src/base/platform/mutex.h"
|
|
#include "src/cpu-features.h"
|
|
#include "src/simulator.h"
|
|
|
|
namespace v8 {
|
|
namespace internal {
|
|
|
|
void FlushInstructionCache(void* start, size_t size) {
|
|
if (size == 0) return;
|
|
|
|
#if defined(USE_SIMULATOR)
|
|
base::MutexGuard lock_guard(Simulator::i_cache_mutex());
|
|
Simulator::FlushICache(Simulator::i_cache(), start, size);
|
|
#else
|
|
CpuFeatures::FlushICache(start, size);
|
|
#endif // USE_SIMULATOR
|
|
}
|
|
|
|
} // namespace internal
|
|
} // namespace v8
|