2222#include "src/log-utils.h"
2323#include "src/macro-assembler.h"
2424#include "src/perf-jit.h"
25- #include "src/profiler/profiler-listener.h"
2625#include "src/profiler/tick-sample.h"
2726#include "src/runtime-profiler.h"
2827#include "src/source-position-table.h"
@@ -218,7 +217,7 @@ class PerfBasicLogger : public CodeEventLogger {
218217 PerfBasicLogger();
219218 ~PerfBasicLogger() override;
220219
221- void CodeMoveEvent(AbstractCode* from, Address to) override {}
220+ void CodeMoveEvent(AbstractCode* from, AbstractCode* to) override {}
222221 void CodeDisableOptEvent(AbstractCode* code,
223222 SharedFunctionInfo* shared) override {}
224223
@@ -287,7 +286,7 @@ class LowLevelLogger : public CodeEventLogger {
287286 explicit LowLevelLogger(const char* file_name);
288287 ~LowLevelLogger() override;
289288
290- void CodeMoveEvent(AbstractCode* from, Address to) override;
289+ void CodeMoveEvent(AbstractCode* from, AbstractCode* to) override;
291290 void CodeDisableOptEvent(AbstractCode* code,
292291 SharedFunctionInfo* shared) override {}
293292 void SnapshotPositionEvent(HeapObject* obj, int pos);
@@ -393,11 +392,10 @@ void LowLevelLogger::LogRecordedBuffer(AbstractCode* code, SharedFunctionInfo*,
393392 code->instruction_size());
394393}
395394
396- void LowLevelLogger::CodeMoveEvent(AbstractCode* from, Address to) {
395+ void LowLevelLogger::CodeMoveEvent(AbstractCode* from, AbstractCode* to) {
397396 CodeMoveStruct event;
398397 event.from_address = from->instruction_start();
399- size_t header_size = from->instruction_start() - from->address();
400- event.to_address = to + header_size;
398+ event.to_address = to->instruction_start();
401399 LogWriteStruct(event);
402400}
403401
@@ -419,7 +417,7 @@ class JitLogger : public CodeEventLogger {
419417 public:
420418 explicit JitLogger(JitCodeEventHandler code_event_handler);
421419
422- void CodeMoveEvent(AbstractCode* from, Address to) override;
420+ void CodeMoveEvent(AbstractCode* from, AbstractCode* to) override;
423421 void CodeDisableOptEvent(AbstractCode* code,
424422 SharedFunctionInfo* shared) override {}
425423 void AddCodeLinePosInfoEvent(void* jit_handler_data, int pc_offset,
@@ -460,19 +458,14 @@ void JitLogger::LogRecordedBuffer(AbstractCode* code,
460458 code_event_handler_(&event);
461459}
462460
463- void JitLogger::CodeMoveEvent(AbstractCode* from, Address to) {
461+ void JitLogger::CodeMoveEvent(AbstractCode* from, AbstractCode* to) {
464462 base::LockGuard<base::Mutex> guard(&logger_mutex_);
465463
466464 JitCodeEvent event;
467465 event.type = JitCodeEvent::CODE_MOVED;
468- event.code_start = from->instruction_start();
466+ event.code_start = reinterpret_cast<void*>( from->instruction_start() );
469467 event.code_len = from->instruction_size();
470-
471- // Calculate the header size.
472- const size_t header_size = from->instruction_start() - from->address();
473-
474- // Calculate the new start address of the instructions.
475- event.new_code_start = to + header_size;
468+ event.new_code_start = reinterpret_cast<void*>(to->instruction_start());
476469
477470 code_event_handler_(&event);
478471}
@@ -739,7 +732,6 @@ Logger::Logger(Isolate* isolate)
739732 perf_jit_logger_(NULL),
740733 ll_logger_(NULL),
741734 jit_logger_(NULL),
742- listeners_(5),
743735 is_initialized_(false) {}
744736
745737Logger::~Logger() {
@@ -1297,9 +1289,10 @@ void Logger::RegExpCodeCreateEvent(AbstractCode* code, String* source) {
12971289 msg.WriteToLogFile();
12981290}
12991291
1300- void Logger::CodeMoveEvent(AbstractCode* from, Address to) {
1292+ void Logger::CodeMoveEvent(AbstractCode* from, AbstractCode* to) {
13011293 if (!is_logging_code_events()) return;
1302- MoveEventInternal(CodeEventListener::CODE_MOVE_EVENT, from->address(), to);
1294+ MoveEventInternal(CodeEventListener::CODE_MOVE_EVENT, from->address(),
1295+ to->address());
13031296}
13041297
13051298void Logger::CodeLinePosInfoRecordEvent(AbstractCode* code,
@@ -1876,8 +1869,6 @@ bool Logger::SetUp(Isolate* isolate) {
18761869 profiler_->Engage();
18771870 }
18781871
1879- profiler_listener_.reset();
1880-
18811872 if (is_logging_) {
18821873 addCodeEventListener(this);
18831874 }
@@ -1905,19 +1896,6 @@ void Logger::SetCodeEventHandler(uint32_t options,
19051896 }
19061897}
19071898
1908- void Logger::SetUpProfilerListener() {
1909- if (!is_initialized_) return;
1910- if (profiler_listener_.get() == nullptr) {
1911- profiler_listener_.reset(new ProfilerListener(isolate_));
1912- }
1913- addCodeEventListener(profiler_listener_.get());
1914- }
1915-
1916- void Logger::TearDownProfilerListener() {
1917- if (profiler_listener_->HasObservers()) return;
1918- removeCodeEventListener(profiler_listener_.get());
1919- }
1920-
19211899sampler::Sampler* Logger::sampler() {
19221900 return ticker_;
19231901}
@@ -1961,10 +1939,6 @@ FILE* Logger::TearDown() {
19611939 jit_logger_ = NULL;
19621940 }
19631941
1964- if (profiler_listener_.get() != nullptr) {
1965- removeCodeEventListener(profiler_listener_.get());
1966- }
1967-
19681942 return log_->Close();
19691943}
19701944
0 commit comments