Re: [PATCH] Bug: :flat and :slurpy don't mix
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!)
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
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!
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
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/
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
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
-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)
-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