Move DisallowHeapAccess definition out of compiler and reuse it.
Change-Id: I5cc5dc227a36ff38145df35b3afd067ebba2ad7c Reviewed-on: https://chromium-review.googlesource.com/1149361 Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#54694}
This commit is contained in:
parent
3b80783c51
commit
b40b49c3cc
@ -139,6 +139,12 @@ typedef PerThreadAssertScopeDebugOnly<CODE_DEPENDENCY_CHANGE_ASSERT, false>
|
||||
typedef PerThreadAssertScopeDebugOnly<CODE_DEPENDENCY_CHANGE_ASSERT, true>
|
||||
AllowCodeDependencyChange;
|
||||
|
||||
class DisallowHeapAccess {
|
||||
DisallowHeapAllocation no_heap_allocation_;
|
||||
DisallowHandleAllocation no_handle_allocation_;
|
||||
DisallowHandleDereference no_handle_dereference_;
|
||||
DisallowCodeDependencyChange no_dependency_change_;
|
||||
};
|
||||
|
||||
// Per-isolate assert scopes.
|
||||
|
||||
|
@ -130,11 +130,7 @@ void LogFunctionCompilation(CodeEventListener::LogEventsAndTags tag,
|
||||
// Implementation of UnoptimizedCompilationJob
|
||||
|
||||
CompilationJob::Status UnoptimizedCompilationJob::ExecuteJob() {
|
||||
DisallowHeapAllocation no_allocation;
|
||||
DisallowHandleAllocation no_handles;
|
||||
DisallowHandleDereference no_deref;
|
||||
DisallowCodeDependencyChange no_dependency_change;
|
||||
|
||||
DisallowHeapAccess no_heap_access;
|
||||
// Delegate to the underlying implementation.
|
||||
DCHECK_EQ(state(), State::kReadyToExecute);
|
||||
ScopedTimer t(&time_taken_to_execute_);
|
||||
@ -212,11 +208,7 @@ CompilationJob::Status OptimizedCompilationJob::PrepareJob(Isolate* isolate) {
|
||||
}
|
||||
|
||||
CompilationJob::Status OptimizedCompilationJob::ExecuteJob() {
|
||||
DisallowHeapAllocation no_allocation;
|
||||
DisallowHandleAllocation no_handles;
|
||||
DisallowHandleDereference no_deref;
|
||||
DisallowCodeDependencyChange no_dependency_change;
|
||||
|
||||
DisallowHeapAccess no_heap_access;
|
||||
// Delegate to the underlying implementation.
|
||||
DCHECK_EQ(state(), State::kReadyToExecute);
|
||||
ScopedTimer t(&time_taken_to_execute_);
|
||||
@ -478,9 +470,7 @@ std::unique_ptr<UnoptimizedCompilationJob> ExecuteUnoptimizedCompileJobs(
|
||||
std::unique_ptr<UnoptimizedCompilationJob> GenerateUnoptimizedCode(
|
||||
ParseInfo* parse_info, AccountingAllocator* allocator,
|
||||
UnoptimizedCompilationJobList* inner_function_jobs) {
|
||||
DisallowHeapAllocation no_allocation;
|
||||
DisallowHandleAllocation no_handles;
|
||||
DisallowHandleDereference no_deref;
|
||||
DisallowHeapAccess no_heap_access;
|
||||
DCHECK(inner_function_jobs->empty());
|
||||
|
||||
if (!Compiler::Analyze(parse_info)) {
|
||||
@ -922,9 +912,7 @@ MaybeHandle<SharedFunctionInfo> CompileToplevel(ParseInfo* parse_info,
|
||||
std::unique_ptr<UnoptimizedCompilationJob> CompileTopLevelOnBackgroundThread(
|
||||
ParseInfo* parse_info, AccountingAllocator* allocator,
|
||||
UnoptimizedCompilationJobList* inner_function_jobs) {
|
||||
DisallowHeapAllocation no_allocation;
|
||||
DisallowHandleAllocation no_handles;
|
||||
DisallowHandleDereference no_deref;
|
||||
DisallowHeapAccess no_heap_access;
|
||||
TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("v8.compile"),
|
||||
"V8.CompileCodeBackground");
|
||||
RuntimeCallTimerScope runtimeTimer(
|
||||
@ -1003,9 +991,7 @@ BackgroundCompileTask::BackgroundCompileTask(ScriptStreamingData* source,
|
||||
|
||||
void BackgroundCompileTask::Run() {
|
||||
TimedHistogramScope timer(timer_);
|
||||
DisallowHeapAllocation no_allocation;
|
||||
DisallowHandleAllocation no_handles;
|
||||
DisallowHandleDereference no_deref;
|
||||
DisallowHeapAccess no_heap_access;
|
||||
|
||||
source_->info->set_on_background_thread(true);
|
||||
|
||||
|
@ -15,13 +15,6 @@ namespace v8 {
|
||||
namespace internal {
|
||||
namespace compiler {
|
||||
|
||||
class DisallowHeapAccess {
|
||||
DisallowHeapAllocation no_heap_allocation_;
|
||||
DisallowHandleAllocation no_handle_allocation_;
|
||||
DisallowHandleDereference no_handle_dereference_;
|
||||
DisallowCodeDependencyChange no_dependency_change_;
|
||||
};
|
||||
|
||||
enum class OddballType : uint8_t {
|
||||
kNone, // Not an Oddball.
|
||||
kBoolean, // True or False.
|
||||
|
@ -526,10 +526,7 @@ class CompilationUnitBuilder {
|
||||
// within the result_mutex_ lock when no finishing task is running, i.e. when
|
||||
// the finisher_is_running_ flag is not set.
|
||||
bool FetchAndExecuteCompilationUnit(CompilationState* compilation_state) {
|
||||
DisallowHeapAllocation no_allocation;
|
||||
DisallowHandleAllocation no_handles;
|
||||
DisallowHandleDereference no_deref;
|
||||
DisallowCodeDependencyChange no_dependency_change;
|
||||
DisallowHeapAccess no_heap_access;
|
||||
|
||||
std::unique_ptr<WasmCompilationUnit> unit =
|
||||
compilation_state->GetNextCompilationUnit();
|
||||
|
Loading…
Reference in New Issue
Block a user