Re: [PATCH] Bug: :flat and :slurpy don't mix

2005-12-07 Thread Leopold Toetsch


On Dec 7, 2005, at 5:39, Bob Rogers wrote:


Turns out this is because of premature optimization


Argh - sorry. That shouldn't have been on of course. I did some 
benchmarking and must have forgotten to disable it. It is ment to 
access the signature array faster. The type of the signature array is 
known as Parrot is constructing it. The flatten code must of course be 
outside the range of this define.


Thanks a lot for spotting this and the tests, applied - r10385.

leo



manifest.t (was: Parrot 0.4.0 Luthor Released!)

2005-12-07 Thread Leopold Toetsch


On Dec 7, 2005, at 2:26, Michael Cummings wrote:


I realize I'm talking to myself at this point (last post, promise), but
my last message failed to explain the paste at the top. On a box 
without
svk, using the 0.4.0 released tarball, all is fine (t/perl/manifest.t 
is

skipped/failed quickly). However, if a user has svk installed and
attempts to run make test, this test hangs indefinitely, presumably svk
getting confused. Maybe a (-d .svn) should be checked first to be sure
we aren't using the release tarball instead of a subversion checkout?


Thanks for the detailed analyzes. I've now cleaned up the manifest.t 
(r10386). It turned out that the whole check for svn/svk is absolutely 
not needed in the test.


leo



Re: [PATCH] Bug: :flat and :slurpy don't mix

2005-12-07 Thread Bob Rogers
   From: Leopold Toetsch [EMAIL PROTECTED]
   Date: Wed, 7 Dec 2005 12:44:32 +0100

   On Dec 7, 2005, at 5:39, Bob Rogers wrote:

Turns out this is because of premature optimization

   Argh - sorry. That shouldn't have been on of course. I did some 
   benchmarking and must have forgotten to disable it. It is ment to 
   access the signature array faster. The type of the signature array is 
   known as Parrot is constructing it. The flatten code must of course be 
   outside the range of this define.

Make sense.  Thanks for explaining.

   But it's not clear to me that it would ever be worth optimizing
VTABLE_elements calls, even for the signature array.  Seems to me that
it's called exactly twice per call/return sequence, true?

   Thanks a lot for spotting this and the tests, applied - r10385.

   leo

No problem; glad to be useful.  If I get a chance, I'll try to work up
more call/return tests involving :slurpy and/or :flat.

-- Bob


Re: Parrot 0.4.0 Luthor Released!

2005-12-07 Thread chromatic
On Tue, 2005-12-06 at 20:26 -0500, Michael Cummings wrote:

 I realize I'm talking to myself at this point (last post, promise), but
 my last message failed to explain the paste at the top. On a box without
 svk, using the 0.4.0 released tarball, all is fine (t/perl/manifest.t is
 skipped/failed quickly). However, if a user has svk installed and
 attempts to run make test, this test hangs indefinitely, presumably svk
 getting confused. Maybe a (-d .svn) should be checked first to be sure
 we aren't using the release tarball instead of a subversion checkout?

Would that have helped?  svk doesn't use .svn directories.

-- c



Re: library loading cleanup

2005-12-07 Thread Leopold Toetsch


On Dec 6, 2005, at 16:08, jerry gay wrote:


On 12/6/05, Leopold Toetsch [EMAIL PROTECTED] wrote:

2) I'm very much inclined to remove the Win32 special casing (see also
r8673)

There are already 2 possibilities to specify the runtime prefix (where
libs are searched).
a) perl Configure --prefix=foo
This sets the built in prefix for the installable executable
b) set the evironment variable PARROT_RUNTIME

If a) isn't appropriate, because Parrot is installed into some
different place, then the install program can still use method b).


as long as there's a workable, documented solution that covers all
operating systems, i'll make sure it's implemented correctly on
windows.


I've now added c) to the list of alternatives that is (from perldoc 
src/library.c):


 lib_paths = [
   [ runtime/parrot/include, ... ],   # paths for 
.include 'file'
   [ runtime/parrot/library, ... ],   # paths for 
load_bytecode

   [ runtime/parrot/dynext, ... ],# paths for loadlib
   [ .so, ... ]   TODO# list of shared 
extensions

 ]

   If the platform defines

 #define PARROT_PLATFORM_LIB_PATH_INIT_HOOK the_init_hook

   if will be called as a function with this prototype:

 void the_init_hook(Interp*, PMC *lib_paths);

   Platform code may add, delete, or replace search path 
entries as
   needed. See also include/parrot/library.h for 
enum_lib_paths.


HTH
leo



Re: [perl #37792] [TODO] dir reorg: move imcc/ to compilers/imcc/

2005-12-07 Thread jerry gay
On 11/29/05, via RT jerry gay [EMAIL PROTECTED] wrote:
 this will likely require configure, makefile, build, and documentation
 modifications. this should be grouped with other compiler/-related
 modifications.
 Note: see the parent ticket for more information.


RT is still down. so, i'll continue to notify the list directly. this
change has been completed, and has been committed as r10396. it
required only small source and makefile changes. the MANIFESTs and
ChangeLog have been updated.

~jerry


load_bytecode no longer loads PBCs from the CWD

2005-12-07 Thread Bob Rogers
   The change below means that the following code no longer works for
loading non-Parrot compiled libraries from the current directory:

load_bytecode structures.pbc

Must I specify an absolute pathname to get the original behavior?

-- Bob Rogers
   http://rgrjr.dyndns.org/


Index: src/packfile.c
===
--- src/packfile.c  (revision 10372)
+++ src/packfile.c  (revision 10373)
@@ -3388,7 +3388,9 @@
 
 ext = strrchr(filename, '.');
 if (ext  strcmp (ext, .pbc) == 0) {
-pf = PackFile_append_pbc(interpreter, filename);
+const char *fullname = Parrot_locate_runtime_file(interpreter, 
+filename, PARROT_RUNTIME_FT_PBC);
+pf = PackFile_append_pbc(interpreter, fullname);
 if (!pf) {
 internal_exception(1, Couldn't find PBC file);
 return;


Parrot Shootout

2005-12-07 Thread Brent Fulgham

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hi,

A long while back someone made a request for people to create parrot  
implementations of the shootout tests on Alioth (http:// 
shootout.alioth.debian.org).  I wanted to let you know that I have  
updated the shootout build machine with parrot (0.3.1) and can start  
running tests if any exist.


Please let me know off-list, or use the project tracker (e.g.,  
https://alioth.debian.org/tracker/? 
func=addgroup_id=30402atid=411646) to add a tarball with the tests


Let the games begin!

Thanks,

- - -Brent

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.2 (Darwin)

iD8DBQFDl8pqzGDdrzfvUpURAmjHAJ9L16EATSUQiIzhQrCZldzetmQimwCfVeRV
MgciumZq8eyJ13xThOlOri8=
=p+UA
-END PGP SIGNATURE-


Mac OS X Build Errors (0.4.0)

2005-12-07 Thread Brent Fulgham

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

In addition to the shootout machine, I have a main development box  
that runs Mac OS X (PowerPC).  I attempted to build Parrot 0.4.0 on  
this machine and encountered errors.  The mailing list archive seems  
to be down at the moment, so I could not check for others with this  
issue.  Is this a known problem?  I am using the XCode tools 2.2,  
which means basically a gcc 4.0 compiler.


Thanks,

- -Brent

Error Log:
src/inter_call.c: At top level:
src/inter_call.c:637: error: conflicting types for 'parrot_pass_args'
/opt/local/include/parrot/inter_call.h:78: error: previous  
declaration of 'parrot_pass_args' was here

src/inter_call.c: In function 'parrot_pass_args':
src/inter_call.c:678: error: 'PARROT_ERRORS_RESULT_COUNT_FLAG'  
undeclared (first use in this function)
src/inter_call.c:678: error: (Each undeclared identifier is reported  
only once

src/inter_call.c:678: error: for each function it appears in.)
src/inter_call.c:681: error: 'PARROT_ERRORS_PARAM_COUNT_FLAG'  
undeclared (first use in this function)

src/inter_call.c: At top level:
src/inter_call.c:788: error: conflicting types for 'set_retval'
/opt/local/include/parrot/inter_call.h:84: error: previous  
declaration of 'set_retval' was here

src/inter_call.c:822: error: conflicting types for 'set_retval_i'
/opt/local/include/parrot/inter_call.h:86: error: previous  
declaration of 'set_retval_i' was here

src/inter_call.c:850: error: conflicting types for 'set_retval_f'
/opt/local/include/parrot/inter_call.h:82: error: previous  
declaration of 'set_retval_f' was here

make: *** [src/inter_call.o] Error 1

Configuration:
Checking  
MANIFEST.done.
Setting up Configure's default  
values.done.
Tweaking settings for  
miniparrot..done.
Loading platform and local hints  
filesdone.
Determining nongenerated header  
files.done.
Determining what C compiler and linker to  
use.done.
Determining whether make is  
installed..yes.
Determining whether lex is  
installed...skipped.
Determining whether yacc is  
installed..skipped.
Determining if your C compiler is actually  
gcc.yes.
Enabling  
optimization.done.
Determining flags for building shared  
libraries...done.
Determining what charset files should be compiled  
in..done.
Determining what encoding files should be compiled  
in.done.
Determining what types Parrot should  
use..done.
Determining what opcode files should be compiled  
in...done.
Setting up experimental  
systems...done.
Determining what pmc files should be compiled  
in..done.
Determining your minimum pointer alignment. 1  
byte.
Probing for C  
headers.done.
Determining some  
sizesdone.
Computing native byteorder for Parrot's wordsizebig- 
endian.
Test the type of va_ptr (this test is likely to  
segfault)..x86.
Figuring out how to pack() Parrot's  
types.done.
Figuring out what formats should be used for  
sprintf..done.
Determining if your C library has a working  
S_ISREGyes.
Determining architecture, OS and JIT  
capability...done.
Running CPU specific  
stuffdone.
Verifying that the compiler supports function pointer  
castsyes.
Determining whether your compiler supports computed  
goto...yes.
Determining if your compiler supports  
inline...yes.
Determining what allocator to  
use.done.
Determining if your C library supports  
memalign...done.
Determining some signal  
stuff.done.
Determining if your C library has setenv /  
unsetenv...both.
Determining if your platform supports  
AIO...no.
Determining if your platform supports  
GMP..yes.
Determining if your platform supports  
gdbm.yes.
Testing  
snprintf .done.
Determining whether perldoc is  
installed...yes.
Determining whether python is installed.yes,  
2.4.1.
Determining whether antlr is  
installed..no.
Determining whether GNU bc is