v8/src/logging/local-logger.h
Leszek Swirski f5051f02d7 [offthread] Enable off-thread logging
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}
2020-08-17 13:47:54 +00:00

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_