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]

Reply via email to