fix a bug

This commit is contained in:
blueloveTH 2024-02-17 23:12:07 +08:00
parent 15f29fb085
commit c7abc23ef4

View File

@ -47,8 +47,11 @@ void LineProfiler::_step_end(FrameId frame){
LineRecord* prev_record = top_frame_record.prev_record;
if(prev_record->line != top_frame_record.prev_line){
prev_record->hits++;
top_frame_record.prev_line = prev_record->line;
clock_t delta = now - top_frame_record.prev_time;
top_frame_record.prev_time = now;
prev_record->hits++;
prev_record->time += delta;
}
int id_delta = frame.index - top_frame_record.frame.index;
@ -57,17 +60,7 @@ void LineProfiler::_step_end(FrameId frame){
if(id_delta == 1){
frames.push({frame, now, nullptr, -1});
}else{
clock_t delta = now - top_frame_record.prev_time;
top_frame_record.prev_time = now;
prev_record->time += delta;
if(id_delta == -1){
frames.pop();
top_frame_record = frames.top();
prev_record = top_frame_record.prev_record;
clock_t delta = now - top_frame_record.prev_time;
top_frame_record.prev_time = now;
prev_record->time += delta;
}
if(id_delta == -1) frames.pop();
}
}
@ -77,14 +70,13 @@ void LineProfiler::end(){
LineRecord* prev_record = top_frame_record.prev_record;
if(prev_record->line != top_frame_record.prev_line){
prev_record->hits++;
top_frame_record.prev_line = prev_record->line;
clock_t delta = now - top_frame_record.prev_time;
top_frame_record.prev_time = now;
prev_record->hits++;
prev_record->time += delta;
}
clock_t delta = now - top_frame_record.prev_time;
top_frame_record.prev_time = now;
prev_record->time += delta;
frames.pop();
PK_ASSERT(frames.empty());
}