Things start to get interesting. The first two vtable slots are gone.
The dispatch for the Cbxor PMC opcodes is now down fully per MMD.
The MMD_BXOR and MMD_BXOR_INT MMD slots are just adjacent entries in the
function table. This is the simplest implementation and provides good
cache locality
The change happened on 2004-05-10 between 07:05 and
07:10 EDT. The files that changed during that time
frame are
lib/Parrot/Pmc2c.pm
lib/Parrot/Vtable.pm
classes/ref.pmc
classes/sharedref.pmc
config/gen/makefiles/root.in
Looking at the diffs, the only change I can see is to
the bxor MMD stuff
At 10:34 AM +0100 5/10/04, Tim Bunce wrote:
On Sat, May 08, 2004 at 04:59:52PM -0700, Jeff Clites wrote:
On May 8, 2004, at 10:30 AM, Dan Sugalski wrote:
(Note that, regardless of anything else, we do need to separate out
stream IO and record IO, both for layer filtering reasons and for pure
At 1:36 PM +0200 5/10/04, Leopold Toetsch wrote:
Things start to get interesting. The first two vtable slots are
gone. The dispatch for the Cbxor PMC opcodes is now down fully per
MMD.
The MMD_BXOR and MMD_BXOR_INT MMD slots are just adjacent entries in
the function table. This is the simplest
Joshua Gatcomb [EMAIL PROTECTED] wrote:
parrot -j examples/benchmarks/primes2.pasm
exists_keyed() not implemented in class 'PerlInt'
Ah. yep. Due to eliminating two vtable functions, other ones after that
moved down in table. JIT needs a small adjustment.
Fixed.
Cheers
Joshua Gatcomb
I've been trying, with very limited success, to get things documented
and questions answered. (Nick's recent issues with parrot and PMCs
are just the newest of a long string of stuff) Since success has been
limited, and questions either get Warnocked or asked multiple times,
I figure it's time
Dan Sugalski [EMAIL PROTECTED] wrote:
At 1:36 PM +0200 5/10/04, Leopold Toetsch wrote:
I think it's now time to review the code a bit and check if the
whole concept is sane.
Looks OK.
Fine.
Interesting is the dispatch inside objects. These have a delegate
vtable which runs a PASM function.
On May 10, 2004, at 7:31 AM, Dan Sugalski wrote:
At 10:34 AM +0100 5/10/04, Tim Bunce wrote:
On Sat, May 08, 2004 at 04:59:52PM -0700, Jeff Clites wrote:
On May 8, 2004, at 10:30 AM, Dan Sugalski wrote:
(Note that, regardless of anything else, we do need to separate
out
stream IO and record
At 5:11 PM +0200 5/10/04, Leopold Toetsch wrote:
Dan Sugalski [EMAIL PROTECTED] wrote:
At 1:36 PM +0200 5/10/04, Leopold Toetsch wrote:
Interesting is the dispatch inside objects. These have a delegate
vtable which runs a PASM function. But it could be redispatched
before by installing an
--- Leopold Toetsch [EMAIL PROTECTED] wrote:
Joshua Gatcomb [EMAIL PROTECTED] wrote:
parrot -j examples/benchmarks/primes2.pasm
exists_keyed() not implemented in class 'PerlInt'
Ah. yep. Due to eliminating two vtable functions,
other ones after that
moved down in table. JIT needs a
At 8:31 AM -0700 5/10/04, Jeff Clites wrote:
On May 10, 2004, at 7:31 AM, Dan Sugalski wrote:
At 10:34 AM +0100 5/10/04, Tim Bunce wrote:
On Sat, May 08, 2004 at 04:59:52PM -0700, Jeff Clites wrote:
On May 8, 2004, at 10:30 AM, Dan Sugalski wrote:
(Note that, regardless of anything else, we
Since we've really started to get folks going writing compilers for
parrot (Woohoo! :) we're running into the perrenial question How the
*heck* do I do X with some regularity.
Getting these questions answered makes life a *lot* easier when
writing compilers, so we should. As such I've started
--- Leopold Toetsch [EMAIL PROTECTED] wrote:
Joshua Gatcomb [EMAIL PROTECTED] wrote:
parrot -j examples/benchmarks/primes2.pasm
exists_keyed() not implemented in class 'PerlInt'
Ah. yep. Due to eliminating two vtable functions,
other ones after that
moved down in table. JIT needs a
On Sat, May 08, 2004 at 11:40:10AM +0100, Nicholas Clark wrote:
So I've fixed that and now it all runs in reasonable time. (As for all its
inherent horrors, perl's reference counting pretty much gets it right as to
when it's time to free up something)
Reasonable time being:
perl5.9.1
At 9:39 AM -0700 5/10/04, Joshua Gatcomb wrote:
--- Leopold Toetsch [EMAIL PROTECTED] wrote:
Joshua Gatcomb [EMAIL PROTECTED] wrote:
parrot -j examples/benchmarks/primes2.pasm
exists_keyed() not implemented in class 'PerlInt'
Ah. yep. Due to eliminating two vtable functions,
other ones
Joshua Gatcomb [EMAIL PROTECTED] wrote:
Working great now. Not sure why it took so long
before I could see the update in CVS. Thanks and
please disregard earlier message.
Joshua Gatcomb
a.k.a. Limbic~Region
Ok, I am an idiot. I didn't try the -j option. Still
not working as of 12:44PM
I should check my aliases before hitting send, shouldn't I?
- Forwarded message from Nicholas Clark [EMAIL PROTECTED] -
Mailing-List: contact [EMAIL PROTECTED]; run by ezmlm
Precedence: bulk
From: Nicholas Clark [EMAIL PROTECTED]
To: [EMAIL PROTECTED], [EMAIL PROTECTED]
Subject: Re:
On May 10, 2004, at 9:05 AM, Dan Sugalski wrote:
At 8:31 AM -0700 5/10/04, Jeff Clites wrote:
Also, of course, you can't guarantee that things are atomic at the OS
level. That is, if I try to write a large amount of data to a socket,
the OS will only take part of that data at a time. Parrot can
On May-09, Abhijit A. Mahabal wrote:
On Sat, 8 May 2004, Abhijit A. Mahabal wrote:
I was writing a few tests for the P6 parser and ran into a weird problem.
If I have the following in a file in languages/perl6, it works as
expected:
[...]
Now, if I put exactly the same contents in
On May-09, Allison Randal wrote:
BTW, should I keep working on P6C? As A12 has just come out P6C may be
heavily under construction, and I don't want to be in the way...
Please do. I'm working on a first rough implementation of classes, but
it shouldn't interfere with general patches.
I am
On Mon, 10 May 2004, Steve Fink wrote:
use File::Basename qw(dirname);
use lib dirname($INC{P6C/Parser.pm})./../../../../lib;
I had already tried that, and it doesn't seem to work. I guess it is some
timing issue: $INC{P6C/Parser.pm} gets defined after P6C::Parser.pm is
loaded (I think).
Abhijit A. Mahabal wrote:
On Mon, 10 May 2004, Steve Fink wrote:
use File::Basename qw(dirname);
use lib dirname($INC{P6C/Parser.pm})./../../../../lib;
I had already tried that, and it doesn't seem to work. I guess it is some
timing issue: $INC{P6C/Parser.pm} gets defined after
Steve Fink wrote:
Neither of those seems right to me. The first keys off of the position
of the binary, which could be anywhere with respect to the library
module you're in; the second is relative to whatever the current
directory is while you're running the script. I would think that
something
At 12:34 PM -0500 5/10/04, Allison Randal wrote:
And don't forget, this is just a prototype. All the code will be
replaced as soon as we get a working grammar engine.
I'm not so sure about that. (Not that it won't be replaced, but that
it needs the grammar engine) I'm pretty sure that grammars as
Joshua Gatcomb [EMAIL PROTECTED] wrote:
Before I posted, I updated again with the latest
checkout and saw that I am still having the problem.
It has been about an hour since you said it was fixed
and I am not seeing it. Is there some CVS trickery I
should be doing?
Dunno. You can follow
Dan Sugalski wrote:
I'm not so sure about that. (Not that it won't be replaced, but that
it needs the grammar engine) I'm pretty sure that grammars as Larry's
defined 'em are recursive-descent, and if that's true then I've this
really nasty feeling we're going to find it insufficiently
--- Leopold Toetsch [EMAIL PROTECTED] wrote:
Dunno. You can follow CVS updates at the cvs mailing
list or at the news group perl.cvs.parrot.
Thanks - next time I see fixed and doing a cvs
update -dP doesn't pick up the change I will know
where to look.
It was this 1-liner check in below.
All of the current and future changes during shifting vtable functions
to MMD and deleting vtable entries may break existing PBCs. Any change
in the current classes enums, in MMD_func constants ... basically any
change in the generated runtime/parrot/include/*.pasm files.
I'll update
Dan Sugalski [EMAIL PROTECTED] wrote:
... As such I've started a FAQ in
docs/compiler_faq.pod.
When I read that file name, I though about gcc, Win32 compilers usable
for Parrot. Could be misleading ...
leo
Nicholas Clark [EMAIL PROTECTED] wrote:
Reasonable time being:
perl5.9.1 compiled with the same options as ponie uses, and -DPURIFY to force
similar malloc() behaviour runs all regression tests:
Parrot built optimized? (perl Configure.pl --optimize ...)
so about half the speed. Currently
Hi,
On Monday 10 May 2004 20:43, Joshua Gatcomb wrote:
Thanks - next time I see fixed and doing a cvs
update -dP doesn't pick up the change I will know
where to look.
It was this 1-liner check in below. make testj
runs fine now.
Oddly enough make testj does not run fine for me. I
--- Leopold Toetsch [EMAIL PROTECTED] wrote:
Dunno. You can follow CVS updates at the cvs mailing
list or at the news group perl.cvs.parrot.
Just a hunch but I bet it is a timezone problem. I
just did a cvs update -dP -D2004-05-10 23:59, which
is in the future for me. It picked up a handful
Dan Sugalski wrote:
Might not be out of line to start a notes file or something to throw
in observations and whatnot that you and other folks come across as
you work on this stuff.
I just added languages/perl6/doc/developer_notes.pod, with a few current
notes. Add to it as relevant.
Allison
Dan Sugalski wrote:
I think the first step here is to get the low-level perl operations
defined, and their parrot translations worked out. For this I mean
that we need to have a list of:
Perl:
a = b + c;
Parrot:
add a, b, c
I expect things like the foreach loops
Joshua Gatcomb [EMAIL PROTECTED] wrote:
--- Leopold Toetsch [EMAIL PROTECTED] wrote:
Dunno. You can follow CVS updates at the cvs mailing
list or at the news group perl.cvs.parrot.
Thanks - next time I see fixed and doing a cvs
update -dP doesn't pick up the change I will know
where to
Now that I have used a bit of trickery to ensure that
I have the absolute latest CVS checkout, things are
working again (make test passes all tests).
Previously I had only been verifying that -j was
working by trying a handful of the examples. This is
the result of running 'make testj'.
Failed
Joshua Gatcomb wrote:
I will shut up now. One should not be allowed to
operate computers when over tired without ample supply
of caffeine.
You mean there's another way to operate computers? (After spending my
teenage years caffeinating and hacking, no caffeine supply is ample
anymore.)
--
Leopold Toetsch wrote:
Dan Sugalski [EMAIL PROTECTED] wrote:
... As such I've started a FAQ in
docs/compiler_faq.pod.
When I read that file name, I though about gcc, Win32 compilers usable
for Parrot. Could be misleading ...
Index: docs/compiler_faq.pod
Hi,
I have written a gcd op that takes 5 arguments (3 out, 2 in)
gcd d, x, y, a, b
and returns the gcd (in d) of a and b, as well as x and y so that
d = gcd(a,b) = x*a + y*b
This op can be useful for some cryptographic stuff, should I check it in?
I've also written a test for it, as
Brent 'Dax' Royal-Gordon wrote:
Joshua Gatcomb wrote:
I will shut up now. One should not be allowed to
operate computers when over tired without ample supply
of caffeine.
You mean there's another way to operate computers? (After
spending my teenage years caffeinating and hacking, no
I think, we have to split the main MANIFEST a bit into:
- core
- ICU
- languages
Why?
- cvs updates that hit MANIFEST take really long and are likely to collide
- language maintainers, who only have privs for their language
directory, should be able to do *all* needed changes
- we might provide 2
-Original Message-
From: Leopold Toetsch [mailto:[EMAIL PROTECTED]
Sent: Saturday, May 08, 2004 1:29 AM
To: Adam Thomason
Cc: [EMAIL PROTECTED]
Subject: Re: [perl #29402] [BUG] 64-bit bitops
Adam Thomason [EMAIL PROTECTED] wrote:
_main:
set I1, 0x
shl I1,
-Original Message-
From: Adam Thomason
Sent: Monday, May 10, 2004 7:13 PM
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Subject: Re: [perl #29402] [BUG] 64-bit bitops
I haven't managed to beat ICU into submission on AIX yet, so
I can't test it out anywhere but AMD64. It's worth
[ For reference the Cbxor opcode is the currently one and only opcode
that does MMD ]
$ cat e.pasm
new P0, .Random
new P1, .Random
new P2, .PerlInt
bxor P2, P0, P1
print P2
print \n
end
One would expect (and got until yesterday):
$ parrot e.pasm
bitwise_xor() not implemented
On Sat, May 08, 2004 at 04:59:52PM -0700, Jeff Clites wrote:
On May 8, 2004, at 10:30 AM, Dan Sugalski wrote:
Do we want to make a distinction between record reads and just plain
read me X (bytes|codepoints|graphemes) requests on filehandles and,
if so, do we think it's worth
--- Leopold Toetsch [EMAIL PROTECTED] wrote:
Joshua Gatcomb [EMAIL PROTECTED] wrote:
2. All tests are now passing on Cygwin.
Are signal and thread tests skipped or running?
No, they are both skipped. I am doing a bit more
research on this because I had trouble with both
threading and a
46 matches
Mail list logo