tberghammer added a subscriber: tberghammer.
tberghammer requested changes to this revision.
tberghammer added a reviewer: tberghammer.
tberghammer added a comment.
This revision now requires changes to proceed.

If I understand this change correctly then OperatingSystemGo::CreateInstance 
will be called every time we launch or attach a new process. This function then 
calls OperatingSystemGo::FindGlobal what will call into 
ModuleList::FindGlobalVariables. The problem is that it will require a full 
dwarf info parsing for all module what is very slow and we would like to avoid 
it at almost all cost. The rest of the plugins mentioned by Jim (JIT, ASAN) are 
doing only a symbol name lookup based on a fixed symbol what is significantly 
faster because it requires only the parsing of the symtab. Please try to find a 
way to detect when you have to enable the go plugin based on symtab only or 
based on the ELF headers what can be parsed even faster (they contain a 
language attribute what should be sufficient (if it is filled in) on Linux/OSX, 
but I don't know about Windows).

Note: If CreateInstace isn't called at launch/attach time when we are working 
with a non-go inferior, then feel free to ignore my comment.


Repository:
  rL LLVM

http://reviews.llvm.org/D5871



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to