Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Shark symbolification of generated code




On Jan 8, 2008, at 10:45 AM, Rick Altherr wrote:

Shark provides no infrastructure for this. JIT code isn't listed as a header by the dynamic linker so Shark doesn't even know where to look for symbol information. The profile will show the addresses of the executed JIT code, but there are a few potential problems. If the JIT doesn't preserve the frame pointer, the backtrace will be useless after the top frame. Even with that in place, Shark collects symbol information at the end of the sampling. This is to avoid the performance impact of doing symbol lookups during the sampling. If the JIT reuses the same block of memory for multiple JIT fragments, then Shark has no idea which code fragment was JIT'd to a given address when the sample was recorded. The JIT would need to keep track of every JIT code fragment generated, the original source it came from, and when the code fragment was generated.

Perhaps this would be interesting to Apple now that OpenGL uses LLVM to JIT code for software fallback. I've done a bit of profiling of a GL app that is falling back to software, and Shark currently doesn't provide much useful information.


- Ladd

_______________________________________________
Do not post admin requests to the list. They will be ignored.
PerfOptimization-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/perfoptimization-dev/email@hidden

This email sent to email@hidden
References: 
 >Shark symbolification of generated code (From: Joachim Ante <email@hidden>)
 >Re: Shark symbolification of generated code (From: Rick Altherr <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.