Compare commits
	
		
			1 Commits
		
	
	
		
			52ed8b81a6
			...
			Trace_enha
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 1720bd4aaa | 
| @@ -157,8 +157,9 @@ void cov::callback(instr_info_t iinfo, const exec_info& einfo) { | |||||||
|     size_t id = iinfo.instr_id; |     size_t id = iinfo.instr_id; | ||||||
|     auto entry = delays[id]; |     auto entry = delays[id]; | ||||||
|     auto instr = instr_if->get_instr_word(); |     auto instr = instr_if->get_instr_word(); | ||||||
|     auto call = (id==2 || id==3) && bit_sub<7,5>(instr)!=0; |     auto call = id==65 || id ==86 || ((id==2 || id==3) && bit_sub<7,5>(instr)!=0) ;//not taking care of tail calls (jalr with loading x6) | ||||||
|     bool taken = einfo.branch_taken; |     bool taken = einfo.branch_taken; | ||||||
|  |     bool compressed = (instr&0x3)!=0x3; | ||||||
|     if (einfo.branch_taken) { |     if (einfo.branch_taken) { | ||||||
|         delay = entry.taken; |         delay = entry.taken; | ||||||
|         if(entry.taken > 1) |         if(entry.taken > 1) | ||||||
| @@ -169,10 +170,10 @@ void cov::callback(instr_info_t iinfo, const exec_info& einfo) { | |||||||
|             instr_if->set_curr_instr_cycles(entry.not_taken); |             instr_if->set_curr_instr_cycles(entry.not_taken); | ||||||
|     } |     } | ||||||
| #ifndef WITH_LZ4 | #ifndef WITH_LZ4 | ||||||
|     output<<std::hex <<"0x" << instr_if->get_pc() <<"," << delay <<"," << call<< "\n"; |     output<<std::hex <<"0x" << instr_if->get_pc() <<"," << delay <<"," << call<<","<<(compressed?2:4) <<"\n"; | ||||||
| #else | #else | ||||||
|     auto rdbuf=ostr.rdbuf(); |     auto rdbuf=ostr.rdbuf(); | ||||||
|     ostr<<std::hex <<"0x" << instr_if->get_pc() <<"," << delay <<"," << call<< "\n"; |     ostr<<std::hex <<"0x" << instr_if->get_pc() <<"," << delay <<"," << call<<","<<(compressed?2:4) <<"\n"; | ||||||
| #endif | #endif | ||||||
| } | } | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user