Yuri, I support Egor in the most of the points. Your code is conceptually OK and is fitted into EM in the right way, but you can't get your code commited if you do not check it on Linux and Windows.
On 31 Oct 2006 14:35:02 +0600, Egor Pasko <[EMAIL PROTECTED]> wrote:
* you do one global lock (profilesLock), that would be a *real crawl* :) Profiling is method-wise, I'd suggest a lock per method. How is that?
Agree with Egor. In the edge profiler I use only one global lock to keep profiles collection safe when adding new profiles. So the one global lock is OK in this case. But as I see Yuri uses the lock even for insertion of new values. Do you really need this lock here? * do you have an .emprofile to test your implementation? Would have
been great! * why EM_PCTYPE updated, but ProfileType left as-is? is it intentional?
ProfileType is a JIT wrapper for EM types. Yuri's patch does not contain any JIT changes. So this is a TODO: add value profiling support to the JIT. * why a value is a mere 'int'? what about pointer profiling? it is different
on IA-32 and x86_64. How would you write a portable piece of profiler? Not nerdy, just curious :)
Reasonable question. I think value profiler should not care(at least the first version) about the semantics of data it collects. int32 is enough to profile type information for methods. int64 sized values could be added latter. -- Mikhail Fursov