Message from discussion Parrot catches null Px register access
Mailing-List: contact perl6-internals-h...@perl.org; run by ezmlm
Delivered-To: mailing list perl6-intern...@perl.org
To: mrjoltc...@mindspring.com (Melvin Smith)
Subject: Re: [COMMIT] Parrot catches null Px register access
Date: Tue, 28 Oct 2003 12:30:40 +0100
X-Spam-Status: No, hits=-1.0 required=7.0 tests=CARRIAGE_RETURNS,IN_REP_TO,QUOTED_EMAIL_TEXT,REFERENCES,SPAM_PHRASE_00_01 version=2.44
X-SMTPD: qpsmtpd/0.26, http://develooper.com/code/qpsmtpd/
From: l...@toetsch.at (Leopold Toetsch)
Melvin Smith <mrjoltc...@mindspring.com> wrote:
> Just in time for the "screamin' punkin" release....
> You'll have to edit interpreter.h and set PARROT_CATCH_NULL to 1
> to enable it.
Turned on now by default.
> The patch adds the Null PMC class, only instantiated once in
> system memory.
... which was the main problem with the patch. PMCs have to point to
pool memory to make DOD happy. It could have been ok, if the live bit
was set - anyway, I use a constant PMC now, which isn't freed.
> I didn't turn it on by default yet as we need to check over the code
> to see where assumptions are being made about PMC pointers
> just being NULL...
I've fixed all locations, where NULL PMCs are either used or tested,
except these I forgot :)
Plain nci code needs still fixing, JIT/i386 nci is done.
> ... However, all tests pass except the pmc create test
> (you can't do a new .Null).
Did you really run tests with --gc-debug?
> This is good enough to start, I think.
Yep, works fine, thanks for putting all together.
> We should also integrate the null.pmc generation into pmc2c or pmc2c2.
We should really switch to the latter and only put in there.