On Wed, Mar 10, 2010 at 05:14:39PM -0800, Jan Dubois wrote: > On Wed, 10 Mar 2010, Jan Dubois wrote: > > > > So from my point of view Devel-NYTProf is working just fine on Windows > > (at least 32-bit; haven't tried it with 64-bit in a while). > > Ok, so I did try to build it on Win64 again, and it all compiles and the > test suite doesn't throw any errors. > > I went in and cleaned up various type mismatches though, and noticed that > the XS code uses "long" and "unsigned long" types in various places. > > This doesn't really make much sense; the type should be either just "int" > and "unsigned int" if 32 bits will always be big enough, or "UV" and "IV" > when they need to be able to hold a size_t. There is no guarantee that > sizeof(long) > sizeof(int), and there is no guarantee either that > sizeof(long) >= sizeof(size_t). > > For example in 64-bit Perl on Windows these types are 8 bytes: > > IV, UV, STRLEN, size_t, char* > > but all these are just 4 bytes: > > int, long, unsigned, unsigned long, I32 > > So whenever I need to cast e.g. a UV to (unsigned long) I'm wondering if there > isn't a subtle bug hiding somewhere.
I'll take a look. > So ideally someone should do an audit and make an explicit decision for > each "long" type if they need to be big enough to hold a pointer, or not. > I don't have time for that right now though. > Devel-NYTProf passes all tests on 32 and 64-bit Windows for all Perl versions > and compilers that I tested. I'm not sure if it is completely functional > though, as I see some noise about "ignored #line directives for autosplit > files" Those are harmless. We should probably make it smarter when it recognises that the #line is from an AutoSplit as those get handled quite well now. > and warnings about negative time values. That might be more serious. > But again, I don't have any more time to spend on this right now. Understood. Thanks for your time Jan. You've been very helpful. Tim. -- You've received this message because you are subscribed to the Devel::NYTProf Development User group. Group hosted at: http://groups.google.com/group/develnytprof-dev Project hosted at: http://perl-devel-nytprof.googlecode.com CPAN distribution: http://search.cpan.org/dist/Devel-NYTProf To post, email: [email protected] To unsubscribe, email: [email protected]
