Re: [svn:parrot] r25208 - trunk/src

2008-01-25 Thread chromatic
On Thursday 24 January 2008 23:20:45 chromatic wrote:

> On Thursday 24 January 2008 19:11:37 [EMAIL PROTECTED] wrote:

> > Modified:
> >trunk/src/exceptions.c

> > Log:
> > Added missing break to switch statement (!!!).  Added checks for NULL
> > pointers

> Did you test this with make testC and make testj?  I seem to recall
> removing a break to fix one of these cores in a similar situation several
> months ago.

I confirmed the breakage and fixed it in r25213 by removing this function 
altogether; it became a one-liner, which is easy enough to inline in the one 
place that calls it anyway.

Now we won't get into a revert war anymore!

-- c


Re: [perl #50214] Maybe not a bug, but....

2008-01-25 Thread ajr
>
> Using the "Strawberry Perl" on Windows XP to install Parrot resulted in
> the attached warnings output from the make step.
>
I'll try a stronger glue this time; maybe they'll stay attached.


--

Email and shopping with the feelgood factor!
55% of income to good causes. http://www.ippimail.com
C:\parrot>mingw32-make > make.txt
gcd_i_n_n 1225   experimental, not in ops.num
gcd_i_nc_n1226   experimental, not in ops.num
gcd_i_n_nc1227   experimental, not in ops.num
gcd_i_nc_nc   1228   experimental, not in ops.num
gcd_i_i_i_i_i 1229   experimental, not in ops.num
gcd_i_i_i_ic_i1230   experimental, not in ops.num
gcd_i_i_i_i_ic1231   experimental, not in ops.num
gcd_i_i_i_ic_ic   1232   experimental, not in ops.num
splice_p_p_i_i1233   experimental, not in ops.num
splice_p_p_ic_i   1234   experimental, not in ops.num
splice_p_p_i_ic   1235   experimental, not in ops.num
splice_p_p_ic_ic  1236   experimental, not in ops.num
slice_p_p_k   1237   experimental, not in ops.num
slice_p_p_kc  1238   experimental, not in ops.num
slice_p_p_k_ic1239   experimental, not in ops.num
slice_p_p_kc_ic   1240   experimental, not in ops.num
iter_p_p  1241   experimental, not in ops.num
morph_p_i 1242   experimental, not in ops.num
morph_p_ic1243   experimental, not in ops.num
morph_p_s 1244   experimental, not in ops.num
morph_p_sc1245   experimental, not in ops.num
exec_s1246   experimental, not in ops.num
exec_sc   1247   experimental, not in ops.num
classname_p_p 1248   experimental, not in ops.num
trap  1249   experimental, not in ops.num
pow_n_n_i 1250   experimental, not in ops.num
pow_n_nc_i1251   experimental, not in ops.num
pow_n_n_ic1252   experimental, not in ops.num
pow_n_nc_ic   1253   experimental, not in ops.num
new_p_i_s 1254   experimental, not in ops.num
new_p_ic_s1255   experimental, not in ops.num
new_p_i_sc1256   experimental, not in ops.num
new_p_ic_sc   1257   experimental, not in ops.num
instantiate_p 1258   experimental, not in ops.num
pmcinfo_i_p_ic1259   experimental, not in ops.num
add_io_event_p_p_p_ic 1260   experimental, not in ops.num
need_finalize_p   1261   experimental, not in ops.num
setstdout_p   1262   experimental, not in ops.num
setstderr_p   1263   experimental, not in ops.num
runinterp_p_p 1264   experimental, not in ops.num
runinterp_p_pc1265   experimental, not in ops.num
substr_r_s_s_i_i  1266   experimental, not in ops.num
substr_r_s_sc_i_i 1267   experimental, not in ops.num
substr_r_s_s_ic_i 1268   experimental, not in ops.num
substr_r_s_sc_ic_i1269   experimental, not in ops.num
substr_r_s_s_i_ic 1270   experimental, not in ops.num
substr_r_s_sc_i_ic1271   experimental, not in ops.num
substr_r_s_s_ic_ic1272   experimental, not in ops.num
substr_r_s_sc_ic_ic   1273   experimental, not in ops.num
src\ops\debug.ops: In function `Parrot_debug_break':
src\ops\debug.ops:103: warning: null argument where non-null required (arg 2)
src\ops\debug.ops:113: warning: null argument where non-null required (arg 2)
src\ops\io.ops: In function `Parrot_getfd_i_p':
src\ops\io.ops:84: warning: cast does not match function type
src\ops\debug.ops: In function `switch_core':
src\ops\debug.ops:103: warning: null argument where non-null required (arg 2)
src\ops\debug.ops:113: warning: null argument where non-null required (arg 2)
src\ops\io.ops:84: warning: cast does not match function type
src\events.c:237:5: warning: "PARROT_HAS_SIGACTION" is not defined
src\events.c:271:5: warning: "PARROT_HAS_SIGACTION" is not defined
src\packfile.c: In function `default_unpack':
src\packfile.c:1204: warning: assignment discards qualifiers from pointer 
target type
src\spf_render.c: In function `Parrot_sprintf_format':
src\spf_render.c:661: warning: format not a string literal, argument types not 
checked
src\spf_render.c:706: warning: format not a string literal, argument types not 
checked
src\stm\backend.c: In function `find_write_record':
src\stm\backend.c:1551: warning: ignoring return value of `get_write', declared
with attribute warn_unused_result
src\stm\backend.c:1551: warning: ignoring return value of `get_write', declared
with attribute warn_unused_result
src\stm\backend.c:1563: warning: ignoring return value of `get_writ

Re: [perl #50218] Uninitialized svk install hangs postconfig/03-revision.t and Parrot::Revision usage

2008-01-25 Thread Andy Bach
I'm working from an svn fetched version - but the 03-revision.t goes 
out, makes a tmp dir, puts in a cache file .parrot_current_rev (w/ 16000 
in it) file and a Makefile so the call to Parrot::Revision::current runs:


sub _get_revision {
my $revision;
if (-f $cache and ! -f 'Makefile') {
eval {
open my $FH, "<", $cache;
chomp($revision = <$FH>);
close $FH;
};
return $revision unless $@;
}

$revision = _analyze_sandbox();

and is going to call analyze_sandbox. I don't have the boxes here but if 
I run svn info in that tmp dir I get 'not a working copy' and that'll 
fall through to git and svk. Running:
perl -e 'use lib "lib/Parrot"; require Revision; print 
$Parrot::Revision::current '

0

in that tmp dir, I get zero, which is what I see if I mod the 03-rev 
test (shouldn't the test be:

  like($Parrot::Revision::current, $rev,
  "Got numeric value for reversion number: 
$Parrot::Revision::current");


not:
  like($Parrot::Revision::current, qr/^\d+$/,
  "Got numeric value for reversion number");
) ... but maybe I'm missing something.

a



[PATCH] Remove cast in fetch_buf_... calls in pf_items.c

2008-01-25 Thread NotFound
Hello.

As I said in a previous message, there are two casts in pf_items.c
that are unnecessary and seems to be wrong.

This patch removes both, avoiding warnings. Tested in Ubuntu 7.10 on
Intel platform.

-- 
Salu2
Index: src/packfile/pf_items.c
===
--- src/packfile/pf_items.c	(revisión: 25206)
+++ src/packfile/pf_items.c	(copia de trabajo)
@@ -236,7 +236,7 @@
 opcode_t o[2];
 } u;
 /* wordsize = 8 then */
-fetch_buf_le_8(u.buf, (unsigned char *) b);
+fetch_buf_le_8(u.buf, b);
 return u.o[0]; /* or u.o[1] */
 #else
 union {
@@ -270,7 +270,7 @@
 opcode_t o[2];
 } u;
 /* wordsize = 8 then */
-fetch_buf_be_8(u.buf, (unsigned char *) b);
+fetch_buf_be_8(u.buf, b);
 return u.o[1]; /* or u.o[0] */
 #else
 union {


[perl #41508] [BUG] Configure losing flags...

2008-01-25 Thread James Keenan via RT
On Thu Jan 24 10:31:46 2008, coke wrote:

> 
> I think this helps verify my original claim, but how to address it?
> 


What would happen if in config/auto/gmp.pm we had some code similar to
that found in config/auto/readline.pm?

sub _init {
my $self = shift;
my %data;
$data{description} = q{Determining if your platform supports readline};
$data{result}  = q{};
$data{macports_root} = File::Spec->catdir( '/', 'opt', 'local' );
return \%data;
}

...

$self->_handle_darwin_for_macports($conf, $osname,
q{readline/readline.h});

...

sub _handle_darwin_for_macports {
my $self = shift;
my ($conf, $osname, $file) = @_;
if ( $osname =~ /darwin/ ) {
my $macports_root = $self->{macports_root};
my $macports_lib_dir = qq{$macports_root/lib};
my $macports_include_dir = qq{$macports_root/include};
if ( -f qq{$macports_include_dir/$file} ) {
$conf->data->add( ' ', linkflags => "-L$macports_lib_dir" );
$conf->data->add( ' ', ldflags   => "-L$macports_lib_dir" );
$conf->data->add( ' ', ccflags   => "-I$macports_include_dir" );
}
}
return 1;
}

Would that help?


Re: [perl #50244] [RFE] Remove 'languages/perl5'

2008-01-25 Thread Will Coleda
On Jan 25, 2008 6:14 PM, chromatic <[EMAIL PROTECTED]> wrote:
> On Friday 25 January 2008 11:43:35 Bernhard Schmalhofer wrote:
>
> > 'languages/perl5' currently servers only as a container for some old
> > PMCs, that probably
> > nobody uses or cares about.
> >
> > Can I remove 'languages/perl5' ?
>
> +1 from me, unless there's some interest in any way not merely historical.
>
> -- c
>
>

+1 here as well; there's been little if any activity on them since
they were refactored here from core.


-- 
Will "Coke" Coleda


[perl #45307] [BUG] Misleading time-zone display at http://smoke.parrotcode.org/smoke/

2008-01-25 Thread James Keenan via RT
I committed a fix for this in r25229:  a simple substitution of 'gmtime'
for 'localtime'.  See attached.

It will not, however, be visible on the web page until the webmasters
install the revised version of smokeserv-server.pl.

kid51

Index: tools/util/smokeserv-server.pl
===
--- tools/util/smokeserv-server.pl  (revision 25207)
+++ tools/util/smokeserv-server.pl  (working copy)
@@ -283,7 +283,7 @@
 timestamp => [
 $9,
 do {
-my $str = localtime($9)->strftime("%d %b %Y %H:%M %a");
+my $str = gmtime($9)->strftime("%d %b %Y %H:%M %a");
 $str =~ s/ / /g;
 
 # hack, to make the timestamps not break so the 


[perl #50258] [BUG] t/harness: Misleading comment needs deletion

2008-01-25 Thread via RT
# New Ticket Created by  James Keenan 
# Please include the string:  [perl #50258]
# in the subject line of all future correspondence about this issue. 
# http://rt.perl.org/rt3/Ticket/Display.html?id=50258 >


In t/harness we find the following:

 ## FIXME: ###
 # This is a temporary solution until Test::TAP::Model version
 # 0.05.  At that point, this function should be removed, and the
 # verbose line below should be uncommented.
 {
   no warnings qw/redefine once/;
   *Test::TAP::Model::run_tests = sub {
 my $self = shift;

 $self->_init;
 $self->{meat}{start_time} = time;

 my %stats;

 foreach my $file (@_) {
 my $data;
 print STDERR "- $file\n";
 $data = $self->run_test($file);
 $stats{tests} += $data->{results}{max} || 0;
 $stats{ok}+= $data->{results}{ok}  || 0;
 }

 printf STDERR "%s OK from %s tests (%.2f%% ok)\n\n",
 $stats{ok},
 $stats{tests},
 $stats{ok} / $stats{tests} * 100;

 $self->{meat}{end_time} = time;
   };

   my $start = time();
   my $model = Test::TAP::Model::Visual->new();
   # $model->set_verbose();
   $model->run_tests(@tests);

I happened upon this in the course of my initial work on redesigning  
Parrot's smoke testing (http://rt.perl.org/rt3/Ticket/Display.html? 
id=49276; http://www.perlfoundation.org/parrot/index.cgi? 
rfp_parrot_needs_better_smoke_reports).  Since I have  
Test::Tap::Model 0.09 installed, I figured I could test the premise  
of the comment above, i.e., comment out the re-definition of  
*Test::TAP::Model::run_tests and allow $model->set_verbose() to be  
executed.

No such luck.  If I followed the implicit instructions, 'make smoke'  
failed because set_verbose() could not be located:

Compiling with:
xx.c
cc -I./include -pipe -I/usr/local/include -D_LARGEFILE_SOURCE - 
D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DHASATTRIBUTE_CONST - 
DHASATTRIBUTE_DEPRECATED -DHASATTRIBUTE_FORMAT -DHASATTRIBUTE_MALLOC - 
DHASATTRIBUTE_NONNULL -DHASATTRIBUTE_NORETURN -DHASATTRIBUTE_PURE - 
DHASATTRIBUTE_UNUSED -DHASATTRIBUTE_WARN_UNUSED_RESULT -falign- 
functions=16 -mno-accumulate-outgoing-args -W -Wall -Waggregate- 
return -Wbad-function-cast -Wc++-compat -Wcast-align -Wcast-qual - 
Wchar-subscripts -Wcomment -Wdeclaration-after-statement -Wdisabled- 
optimization -Wextra -Wformat-nonliteral -Wformat-security -Wformat- 
y2k -Wimplicit -Wimplicit-function-declaration -Wimplicit-int - 
Wimport -Winit-self -Winline -Winvalid-pch -Wmain -Wmissing-braces - 
Wmissing-declarations -Wmissing-field-initializers -Wmissing-include- 
dirs -Wmissing-prototypes -Wnested-externs -Wno-endif-labels -Wno- 
shadow -Wno-unused -Wnonnull -Wpacked -Wparentheses -Wpointer-arith - 
Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing - 
Wstrict-aliasing=2 -Wswitch -Wswitch-default -Wtrigraphs -Wundef - 
Wunknown-pragmas -Wvariadic-macros -Wwrite-strings -g -DHAS_JIT - 
DI386 -DHAVE_COMPUTED_GOTO -fPIC -I. -o xx.o -c xx.c
make -C docs
make[1]: Entering directory `/home/jimk/work/parrot/docs'
/usr/local/bin/perl -MExtUtils::Command -e mkpath ops
make[1]: Leaving directory `/home/jimk/work/parrot/docs'
make -C src/dynpmc
make[1]: Entering directory `/home/jimk/work/parrot/src/dynpmc'
make[1]: Leaving directory `/home/jimk/work/parrot/src/dynpmc'
make -C src/dynoplibs
make[1]: Entering directory `/home/jimk/work/parrot/src/dynoplibs'
make[1]: Leaving directory `/home/jimk/work/parrot/src/dynoplibs'
make -C compilers/pge
make[1]: Entering directory `/home/jimk/work/parrot/compilers/pge'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/jimk/work/parrot/compilers/pge'
make -C compilers/tge
make[1]: Entering directory `/home/jimk/work/parrot/compilers/tge'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/jimk/work/parrot/compilers/tge'
make -C compilers/past-pm
make[1]: Entering directory `/home/jimk/work/parrot/compilers/past-pm'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/jimk/work/parrot/compilers/past-pm'
make -C compilers/pct
make[1]: Entering directory `/home/jimk/work/parrot/compilers/pct'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/jimk/work/parrot/compilers/pct'
make -C compilers/nqp
make[1]: Entering directory `/home/jimk/work/parrot/compilers/nqp'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/jimk/work/parrot/compilers/nqp'
make -C compilers/json
make[1]: Entering directory `/home/jimk/work/parrot/compilers/json'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/jimk/work/parrot/compilers/json'
/usr/local/bin/perl t/harness --html --gc-debug --running-make-test
Can't locate object method "set_verbose" via package  
"Test::TAP::Model::Visual" at t/harness line 298.
make: *** [smoke] Error 9

I then re-commented-out the line w

Re: [perl #50244] [RFE] Remove 'languages/perl5'

2008-01-25 Thread chromatic
On Friday 25 January 2008 11:43:35 Bernhard Schmalhofer wrote:

> 'languages/perl5' currently servers only as a container for some old
> PMCs, that probably
> nobody uses or cares about.
>
> Can I remove 'languages/perl5' ?

+1 from me, unless there's some interest in any way not merely historical.

-- c


[perl #50238] [PATCH] Remove cast in fetch_buf_... calls in pf_items.c

2008-01-25 Thread via RT
# New Ticket Created by  NotFound 
# Please include the string:  [perl #50238]
# in the subject line of all future correspondence about this issue. 
# http://rt.perl.org/rt3/Ticket/Display.html?id=50238 >


Hello.

As I said in a previous message, there are two casts in pf_items.c
that are unnecessary and seems to be wrong.

This patch removes both, avoiding warnings. Tested in Ubuntu 7.10 on
Intel platform.

-- 
Salu2
Index: src/packfile/pf_items.c
===
--- src/packfile/pf_items.c	(revisión: 25206)
+++ src/packfile/pf_items.c	(copia de trabajo)
@@ -236,7 +236,7 @@
 opcode_t o[2];
 } u;
 /* wordsize = 8 then */
-fetch_buf_le_8(u.buf, (unsigned char *) b);
+fetch_buf_le_8(u.buf, b);
 return u.o[0]; /* or u.o[1] */
 #else
 union {
@@ -270,7 +270,7 @@
 opcode_t o[2];
 } u;
 /* wordsize = 8 then */
-fetch_buf_be_8(u.buf, (unsigned char *) b);
+fetch_buf_be_8(u.buf, b);
 return u.o[1]; /* or u.o[0] */
 #else
 union {


Sorry

2008-01-25 Thread NotFound
Hello.

I sent to the list the message to parrotbug, and later to parrotbug
the apology message to the list, sorry.

-- 
Salu2


[perl #50218] Uninitialized svk install hangs postconfig/03-revision.t and Parrot::Revision usage

2008-01-25 Thread James Keenan via RT
I will try to look at this over the weekend.


Re: [perl #50212] Configure step fails on Windows

2008-01-25 Thread ajr
> Hi, Alan!  What kind of CPU do you have?  If you have an AMD Athlon XP
> (or something of similar lineage), I think I know what the problem is.
>
I think you've nailed it: Athlon XP-M.




--

Email and shopping with the feelgood factor!
55% of income to good causes. http://www.ippimail.com



[perl #50244] [RFE] Remove 'languages/perl5'

2008-01-25 Thread via RT
# New Ticket Created by  Bernhard Schmalhofer 
# Please include the string:  [perl #50244]
# in the subject line of all future correspondence about this issue. 
# http://rt.perl.org/rt3/Ticket/Display.html?id=50244 >


Hi,

'languages/perl5' currently servers only as a container for some old 
PMCs, that probably
nobody uses or cares about.

Can I remove 'languages/perl5' ?

Regards,
  Bernhard





[perl #50240] Re: [PATCH] Remove cast in fetch_buf_... calls in pf_items.c

2008-01-25 Thread via RT
# New Ticket Created by  NotFound 
# Please include the string:  [perl #50240]
# in the subject line of all future correspondence about this issue. 
# http://rt.perl.org/rt3/Ticket/Display.html?id=50240 >


Sorry, wrong address.


-- 
Salu2


[perl #50214] Maybe not a bug, but....

2008-01-25 Thread James Keenan via RT
At this point in our work, it is expected that 'make' will generate
warnings.  Consider them data for further research.  So there's no cause
for panic here.

But I'm unclear:  Did 'make' complete successfully?  I.e., did you end
up with a './parrot' executable in your top-level sandbox?

kid51


Re: [svn:parrot] r25208 - trunk/src

2008-01-25 Thread chromatic
On Friday 25 January 2008 07:46:32 Andy Lester wrote:

> On Jan 25, 2008, at 2:16 AM, chromatic wrote:

> > Did you test this with make testC and make testj?
> I'm unaware of testC and testj.  So no.

Okay.

> I'm looking at the Makefile, and I guess I'm not understanding the
> differences between the various cores.

There's a standard runloop, where each opcode is a separate C function.  
That's pretty easy in pseudocode:

slow_runcore( op ):
while ( op ):
op = op_function( op )
check_for_events()

The GC debugging runcore is similar:

gcdebug_runcore( op ):
while ( op ):
perform_full_gc_run()
op = op_function( op )
check_for_events()

The switched core eschews a bunch of tiny op functions in favor of cases in a 
large switch statement:

switch_runcore( op ):
while ( op ):
switch *op:
case NOP:
...
case STORE:
...
...

There's computed-goto (which avoids the overhead of function calls by jumping 
directly to the address where each opcode's function starts, I believe) and a 
JIT core (which knows when to jump to JIT-compiled code for supported 
opcodes).

Most of the difference outside of the runcore code itself is that we have to 
be slightly careful about certain assumptions, especially related to passing 
around opcode pointers and addresses of or offsets into bytecode.

Usually most of the code doesn't trip any differences in runcores, but if you 
saw some of my commits before the previous release, you may have noticed that 
I had to fix some of the runcores to check for events appropriately.  That's 
all runcore changes.

The change I responded to here changed the address in bytecode where Parrot 
should resume after an exception for certain runcores, and that caused some 
crashes because it was wrong.  Fortunately, it was easy to rewrite the code 
so it wasn't correct but wrong looking.

-- c


Re: [svn:parrot] r25208 - trunk/src

2008-01-25 Thread Andy Lester


On Jan 25, 2008, at 2:16 AM, chromatic wrote:


Did you test this with make testC and make testj?



I'm unaware of testC and testj.  So no.

I'm looking at the Makefile, and I guess I'm not understanding the  
differences between the various cores.


--
Andy Lester => [EMAIL PROTECTED] => www.petdance.com => AIM:petdance






Re: [perl #50214] Maybe not a bug, but....

2008-01-25 Thread ajr

> But I'm unclear:  Did 'make' complete successfully?  I.e., did you end
> up with a './parrot' executable in your top-level sandbox?
>
Yes. And when I made Perl 6, it said "Hello (&c)".


--

Email and shopping with the feelgood factor!
55% of income to good causes. http://www.ippimail.com