79896eeb4b
Drive-by-fix: - better handle tooltip text Bug: v8:10644 Change-Id: Ibe20a1e0a0ebd298855afcbdc6f28e6fa4d1e64e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2563660 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#71479}
144 lines
3.5 KiB
JavaScript
144 lines
3.5 KiB
JavaScript
// 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.
|
|
|
|
class State {
|
|
_timeSelection = {start: 0, end: Infinity};
|
|
_map;
|
|
_ic;
|
|
_selectedMapLogEntries;
|
|
_selectedIcLogEntries;
|
|
_selectedDeoptLogEntries;
|
|
_selecteCodeLogEntries;
|
|
_selectedSourcePositions;
|
|
_nofChunks;
|
|
_chunks;
|
|
_icTimeline;
|
|
_mapTimeline;
|
|
_deoptTimeline;
|
|
_codeTimeline;
|
|
_minStartTime = Number.POSITIVE_INFINITY;
|
|
_maxEndTime = Number.NEGATIVE_INFINITY;
|
|
|
|
get minStartTime() {
|
|
return this._minStartTime;
|
|
}
|
|
|
|
get maxEndTime() {
|
|
return this._maxEndTime;
|
|
}
|
|
|
|
selectTimeRange(start, end) {
|
|
this.timeSelection.start = start;
|
|
this.timeSelection.end = end;
|
|
this._icTimeline.selectTimeRange(start, end);
|
|
this._mapTimeline.selectTimeRange(start, end);
|
|
this._deoptTimeline.selectTimeRange(start, end);
|
|
this._codeTimeline.selectTimeRange(start, end);
|
|
}
|
|
|
|
setTimelines(mapTimeline, icTimeline, deoptTimeline, codeTimeline) {
|
|
this._mapTimeline = mapTimeline;
|
|
this._icTimeline = icTimeline;
|
|
this._deoptTimeline = deoptTimeline;
|
|
this._codeTimeline = codeTimeline;
|
|
for (let timeline of arguments) {
|
|
if (timeline === undefined) return;
|
|
this._minStartTime = Math.min(this._minStartTime, timeline.startTime);
|
|
this._maxEndTime = Math.max(this._maxEndTime, timeline.endTime);
|
|
}
|
|
for (let timeline of arguments) {
|
|
timeline.startTime = this._minStartTime;
|
|
timeline.endTime = this._maxEndTime;
|
|
}
|
|
}
|
|
|
|
get mapTimeline() {
|
|
return this._mapTimeline;
|
|
}
|
|
|
|
get icTimeline() {
|
|
return this._icTimeline;
|
|
}
|
|
|
|
get deoptTimeline() {
|
|
return this._deoptTimeline;
|
|
}
|
|
|
|
get codeTimeline() {
|
|
return this._codeTimeline;
|
|
}
|
|
|
|
get timelines() {
|
|
return [
|
|
this.mapTimeline, this.icTimeline, this.deoptTimeline, this.codeTimeline
|
|
];
|
|
}
|
|
|
|
set chunks(value) {
|
|
// TODO(zcankara) split up between maps and ics, and every timeline track
|
|
this._chunks = value;
|
|
}
|
|
|
|
get chunks() {
|
|
// TODO(zcankara) split up between maps and ics, and every timeline track
|
|
return this._chunks;
|
|
}
|
|
|
|
get nofChunks() {
|
|
return this._nofChunks;
|
|
}
|
|
set nofChunks(count) {
|
|
this._nofChunks = count;
|
|
}
|
|
get map() {
|
|
// TODO(zcankara) rename as selectedMapEvents, array of selected events
|
|
return this._map;
|
|
}
|
|
set map(value) {
|
|
// TODO(zcankara) rename as selectedMapEvents, array of selected events
|
|
if (!value) return;
|
|
this._map = value;
|
|
}
|
|
get ic() {
|
|
// TODO(zcankara) rename selectedICEvents, array of selected events
|
|
return this._ic;
|
|
}
|
|
set ic(value) {
|
|
// TODO(zcankara) rename selectedIcEvents, array of selected events
|
|
if (!value) return;
|
|
this._ic = value;
|
|
}
|
|
get selectedMapLogEntries() {
|
|
return this._selectedMapLogEntries;
|
|
}
|
|
set selectedMapLogEntries(value) {
|
|
if (!value) return;
|
|
this._selectedMapLogEntries = value;
|
|
}
|
|
get selectedSourcePositions() {
|
|
return this._selectedSourcePositions;
|
|
}
|
|
set selectedSourcePositions(value) {
|
|
this._selectedSourcePositions = value;
|
|
}
|
|
get selectedIcLogEntries() {
|
|
return this._selectedIcLogEntries;
|
|
}
|
|
set selectedIcLogEntries(value) {
|
|
if (!value) return;
|
|
this._selectedIcLogEntries = value;
|
|
}
|
|
get timeSelection() {
|
|
return this._timeSelection;
|
|
}
|
|
get entries() {
|
|
if (!this.map) return {};
|
|
return {
|
|
map: this.map.id, time: this.map.time
|
|
}
|
|
}
|
|
}
|
|
|
|
export {State};
|