On 05/08/07, Joshua Isom <[EMAIL PROTECTED]> wrote:
>
> On Aug 4, 2007, at 5:28 AM, Paul Cochrane wrote:
>
> > On 03/08/07, via RT Joshua Isom <[EMAIL PROTECTED]>
> > wrote:
> >> # New Ticket Created by  Joshua Isom
> >> # Please include the string:  [perl #44391]
> >> # in the subject line of all future correspondence about this issue.
> >> # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=44391 >
> >>
> >>
> >> After a fair amount of headaches, I finally discovered some of my
> >> trouble with my jit.  It seems as though r19820 changed the API for
> >> preserving and restoring parrot's registers to cpu registers.  The
> >> cause was to convert internal_exceptions(fatal) to
> >> real_exceptions(maybe fatal), and since internal_exceptions need
> >> interp, interp gets passed around.  Only i386 was fixed to handle the
> >> API change, and PPC's broken.  In this case, real_exception could be
> >> appropriate to prevent executing bad/incomplete machine code that
> >> would
> >> crash parrot.  If you look at the exceptions used, in i386's
> >> jit_emit.h, it's more a bad jit_emit.h than anything caused by a user.
> >
> > Since I was unable to test the internal_exception() to
> > real_exception() change on anything other than i386, I didn't update
> > the jit_emit.h headers for other architectures in the repository.  I'm
> > sorry that this has caused headaches.  I did make a mention of the
> > fact that I couldn't update all architectures in RT#40392 which I'm
> > pretty sure made it to the list.  Is there anything I can do to help
> > out?
> >
> > Paul
>
> Part of my what I was thinking was that many of those
> internal_exceptions should probably stay internal_exceptions because it
> means one of the macros or subs was used incorrectly and tried to
> generate invalid code.  The way I see it, internal_exceptions should
> never be generated from PIR code, and most likely indicate improper
> usage of some part of parrot, and real_exceptions can be generated from
> PIR code and may wish to be caught.

I don't mind if some of the real_exceptions return to
internal_exceptions, so long as this is the right thing to do.

Reply via email to