Code review request: 7186778 MachO decoder implementation for MacOSX (original) (raw)
Kevin Walls kevin.walls at oracle.com
Sat Jul 28 02:10:22 PDT 2012
- Previous message: Code review request: 7186778 MachO decoder implementation for MacOSX
- Next message: [PATCH] Implement -XX:+BindGCTaskThreadsToCPUs for Linux
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi Zhengyu
Thanks for taking this on. 8-)
os_bsd.cpp at line 1976 is my comment which needs to go:
1976 // Is this where we end up for a non-dynamic symbol? 1977 // If so, here's the brute force approach: 1978 // Hoping that dladdr() sets dlinfo.dli_fbase above, or do we need to look it up? 1979 // Perhaps verify it's not null. 1980 if (Decoder::decode(addr, localbuf, MACH_MAXSYMLEN, offset, dlinfo.dli_fbase)) {
...or at least change to:
// Handle non-dymanic manually:
Also there's a comment at 1957 which should go. It seems that the
dladdr() call at 1961 sets our dlinfo.dli_fbase, even when it can't
return a symbol name. (If any doubt, we should check that the dli_fbase
address is at least non-null before calling Decoder::decode at 1980?...
Actually, yes we should check as we are relying on dladdr() populating
that field, but what if it failed for some reason other than it being a
dynamic symbol?)
Thanks! Kevin
On 25/07/12 18:47, Zhengyu Gu wrote:
This is the implementation of MachO decoder for MacOSX. The implementation is based on the patch provided by Kevin Walls, I modified it to fit it into current decoder framework.
CR: http://bugs.sun.com/bugdatabase/viewbug.do?bugid=7186778 Webrev: http://cr.openjdk.java.net/~zgu/7186778/webrev.00/ Tests: The repo has ran through JPRT. I also used NMT queries to display the decoded callsites. Thanks, -Zhengyu
- Previous message: Code review request: 7186778 MachO decoder implementation for MacOSX
- Next message: [PATCH] Implement -XX:+BindGCTaskThreadsToCPUs for Linux
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]