I'm interested in what some of B's output looks like on different archtectures. I wrote a simple script that dumps some information on the FLAGS portion of a few scalars (global/pad/int/str). I also printed some config information on the off chance it's interesting though I don't know that in advance. So please, if you have something that isn't ix86 based then I'm interested to see what this outputs for you. So post your output and you'll earn my gratitude and a ++. Thanks.
require B; sub flags { my ($name, $test_ref) = @_; my $test_obj = B::svref_2object( $test_ref ); my $bits = sprintf "%o", $test_obj -> FLAGS; # my $bits = unpack 'B*', pack 'N', $test_obj -> FLAGS; print "$name: $bits\n"; } my $pad_str = "str"; my $pad_int = 1; $str = "str"; $int = 1; flags( "pad str", \ $pad_str ); flags( "pad int", \ $pad_int ); flags( "gbl str", \ $str ); flags( "gbl int", \ $int ); print "\n"; # Print some values I'm interested in seeing. use Config qw(config_vars); config_vars(qw(archname intsize longsize ptrsize doublesize byteorder d_longlong longlongsize d_longdbl longdblsize ivtype ivsize nvtype nvsize lseeksize alignbytes)); __DATA__ pad str: 401002404 pad int: 100202401 gbl str: 401000004 gbl int: 100200001 archname='MSWin32-x86-multi-thread'; intsize='4'; longsize='4'; ptrsize='4'; doublesize='8'; byteorder='1234'; d_longlong='undef'; longlongsize='8'; d_longdbl='define'; longdblsize='10'; ivtype='long'; ivsize='4'; nvtype='double'; nvsize='8'; lseeksize='4'; alignbytes='8';
In reply to Non ix86 internals by diotalevi
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |