• Home
  • Raw
  • Download

Lines Matching refs:process

199     Process& process = it->second;  in ReadAllProcesses()  local
200 ReadProcess(process, &debug_info); in ReadAllProcesses()
201 if (process.died) { in ReadAllProcesses()
202 LOG(DEBUG) << "Stop monitoring process " << process.pid; in ReadAllProcesses()
227 void JITDebugReader::ReadProcess(Process& process, std::vector<JITDebugInfo>* debug_info) { in ReadProcess() argument
228 if (process.died || (!process.initialized && !InitializeProcess(process))) { in ReadProcess()
234 if (!ReadDescriptors(process, &jit_descriptor, &dex_descriptor)) { in ReadProcess()
238 if (jit_descriptor.action_seqlock == process.last_jit_descriptor.action_seqlock && in ReadProcess()
239 dex_descriptor.action_seqlock == process.last_dex_descriptor.action_seqlock) { in ReadProcess()
247 if (!ReadDescriptors(process, &tmp_jit_descriptor, &tmp_dex_descriptor)) { in ReadProcess()
259 LOG(DEBUG) << (is_jit ? "JIT" : "Dex") << " symfiles of pid " << process.pid in ReadProcess()
269 if (!ReadNewCodeEntries(process, new_descriptor, old_descriptor.action_timestamp, in ReadProcess()
277 LOG(DEBUG) << (is_jit ? "JIT" : "Dex") << " symfiles of pid " << process.pid in ReadProcess()
283 ReadJITCodeDebugInfo(process, new_entries, debug_info); in ReadProcess()
285 ReadDexFileDebugInfo(process, new_entries, debug_info); in ReadProcess()
289 if (read_debug_info(jit_descriptor, process.last_jit_descriptor, true)) { in ReadProcess()
290 process.last_jit_descriptor = jit_descriptor; in ReadProcess()
292 if (read_debug_info(dex_descriptor, process.last_dex_descriptor, false)) { in ReadProcess()
293 process.last_dex_descriptor = dex_descriptor; in ReadProcess()
297 bool JITDebugReader::InitializeProcess(Process& process) { in InitializeProcess() argument
300 if (!GetThreadMmapsInProcess(process.pid, &thread_mmaps)) { in InitializeProcess()
301 process.died = true; in InitializeProcess()
316 process.is_64bit = art_lib_path.find("lib64") != std::string::npos; in InitializeProcess()
319 const DescriptorsLocation* location = GetDescriptorsLocation(art_lib_path, process.is_64bit); in InitializeProcess()
323 process.descriptors_addr = location->relative_addr + min_vaddr_in_memory; in InitializeProcess()
324 process.descriptors_size = location->size; in InitializeProcess()
325 process.jit_descriptor_offset = location->jit_descriptor_offset; in InitializeProcess()
326 process.dex_descriptor_offset = location->dex_descriptor_offset; in InitializeProcess()
327 process.initialized = true; in InitializeProcess()
381 bool JITDebugReader::ReadRemoteMem(Process& process, uint64_t remote_addr, uint64_t size, in ReadRemoteMem() argument
389 ssize_t result = process_vm_readv(process.pid, &local_iov, 1, &remote_iov, 1, 0); in ReadRemoteMem()
391 PLOG(DEBUG) << "ReadRemoteMem(" << " pid " << process.pid << ", addr " << std::hex in ReadRemoteMem()
393 process.died = true; in ReadRemoteMem()
399 bool JITDebugReader::ReadDescriptors(Process& process, Descriptor* jit_descriptor, in ReadDescriptors() argument
401 if (!ReadRemoteMem(process, process.descriptors_addr, process.descriptors_size, in ReadDescriptors()
405 return LoadDescriptor(process.is_64bit, &descriptors_buf_[process.jit_descriptor_offset], in ReadDescriptors()
407 LoadDescriptor(process.is_64bit, &descriptors_buf_[process.dex_descriptor_offset], in ReadDescriptors()
435 bool JITDebugReader::ReadNewCodeEntries(Process& process, const Descriptor& descriptor, in ReadNewCodeEntries() argument
438 if (process.is_64bit) { in ReadNewCodeEntries()
440 process, descriptor, last_action_timestamp, read_entry_limit, new_code_entries); in ReadNewCodeEntries()
443 process, descriptor, last_action_timestamp, read_entry_limit, new_code_entries); in ReadNewCodeEntries()
447 bool JITDebugReader::ReadNewCodeEntriesImpl(Process& process, const Descriptor& descriptor, in ReadNewCodeEntriesImpl() argument
460 if (!ReadRemoteMem(process, current_entry_addr, sizeof(entry), &entry)) { in ReadNewCodeEntriesImpl()
485 void JITDebugReader::ReadJITCodeDebugInfo(Process& process, in ReadJITCodeDebugInfo() argument
496 if (!ReadRemoteMem(process, jit_entry.symfile_addr, jit_entry.symfile_size, data.data())) { in ReadJITCodeDebugInfo()
522 debug_info->emplace_back(process.pid, jit_entry.timestamp, min_addr, max_addr - min_addr, in ReadJITCodeDebugInfo()
527 void JITDebugReader::ReadDexFileDebugInfo(Process& process, in ReadDexFileDebugInfo() argument
531 if (!GetThreadMmapsInProcess(process.pid, &thread_mmaps)) { in ReadDexFileDebugInfo()
532 process.died = true; in ReadDexFileDebugInfo()
562 debug_info->emplace_back(process.pid, dex_entry.timestamp, dex_file_offset, file_path); in ReadDexFileDebugInfo()