f5051f02d7
Enable logging script events and code position events during a background compile. This isn't technically thread-safe, but neither are the existing logger accesses in the parser, so something has to be done here in general. Bug: chromium:1011762 Change-Id: I3b610c3bb146880ef826928b6f341f402ca6247e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2162853 Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#69426}
38 lines
1005 B
C++
38 lines
1005 B
C++
// Copyright 2020 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.
|
|
|
|
#ifndef V8_LOGGING_LOCAL_LOGGER_H_
|
|
#define V8_LOGGING_LOCAL_LOGGER_H_
|
|
|
|
#include "src/base/logging.h"
|
|
#include "src/logging/log.h"
|
|
|
|
namespace v8 {
|
|
namespace internal {
|
|
|
|
// TODO(leszeks): Add support for logging from off-thread.
|
|
class LocalLogger {
|
|
public:
|
|
explicit LocalLogger(Isolate* isolate);
|
|
|
|
bool is_logging() const { return is_logging_; }
|
|
bool is_listening_to_code_events() const {
|
|
return is_listening_to_code_events_;
|
|
}
|
|
void ScriptDetails(Script script);
|
|
void ScriptEvent(Logger::ScriptEventType type, int script_id);
|
|
void CodeLinePosInfoRecordEvent(Address code_start,
|
|
ByteArray source_position_table);
|
|
|
|
private:
|
|
Logger* logger_;
|
|
bool is_logging_;
|
|
bool is_listening_to_code_events_;
|
|
};
|
|
|
|
} // namespace internal
|
|
} // namespace v8
|
|
|
|
#endif // V8_LOGGING_LOCAL_LOGGER_H_
|