Add a flag for flushing icache for embedded builtins
It will be used in a Finch experiment to evaluate if icache flushing helps with crashes on certain CPUs. Bug: chromium:889460 Change-Id: I1218ce93db001833e29fdeca8fde3e863e26dfdd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2267297 Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#68545}
This commit is contained in:
parent
15e54593de
commit
4bbf78f9b2
@ -25,6 +25,7 @@
|
|||||||
#include "src/builtins/constants-table-builder.h"
|
#include "src/builtins/constants-table-builder.h"
|
||||||
#include "src/codegen/assembler-inl.h"
|
#include "src/codegen/assembler-inl.h"
|
||||||
#include "src/codegen/compilation-cache.h"
|
#include "src/codegen/compilation-cache.h"
|
||||||
|
#include "src/codegen/flush-instruction-cache.h"
|
||||||
#include "src/common/ptr-compr.h"
|
#include "src/common/ptr-compr.h"
|
||||||
#include "src/compiler-dispatcher/compiler-dispatcher.h"
|
#include "src/compiler-dispatcher/compiler-dispatcher.h"
|
||||||
#include "src/compiler-dispatcher/optimizing-compile-dispatcher.h"
|
#include "src/compiler-dispatcher/optimizing-compile-dispatcher.h"
|
||||||
@ -239,6 +240,10 @@ void Isolate::SetEmbeddedBlob(const uint8_t* blob, uint32_t blob_size) {
|
|||||||
"cause is a debugging breakpoint set within builtin code.");
|
"cause is a debugging breakpoint set within builtin code.");
|
||||||
}
|
}
|
||||||
#endif // DEBUG
|
#endif // DEBUG
|
||||||
|
|
||||||
|
if (FLAG_experimental_flush_embedded_blob_icache) {
|
||||||
|
FlushInstructionCache(const_cast<uint8_t*>(blob), blob_size);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Isolate::ClearEmbeddedBlob() {
|
void Isolate::ClearEmbeddedBlob() {
|
||||||
|
@ -1337,6 +1337,8 @@ DEFINE_BOOL(
|
|||||||
"includes arguments for each function call in the error stack frames array")
|
"includes arguments for each function call in the error stack frames array")
|
||||||
DEFINE_BOOL(adjust_os_scheduling_parameters, true,
|
DEFINE_BOOL(adjust_os_scheduling_parameters, true,
|
||||||
"adjust OS specific scheduling params for the isolate")
|
"adjust OS specific scheduling params for the isolate")
|
||||||
|
DEFINE_BOOL(experimental_flush_embedded_blob_icache, false,
|
||||||
|
"Used in an experiment to evaluate icache flushing on certain CPUs")
|
||||||
|
|
||||||
// runtime.cc
|
// runtime.cc
|
||||||
DEFINE_BOOL(runtime_call_stats, false, "report runtime call counts and times")
|
DEFINE_BOOL(runtime_call_stats, false, "report runtime call counts and times")
|
||||||
|
Loading…
Reference in New Issue
Block a user