On Tue, Apr 22, 2008 at 2:41 PM, Jon Harrop <[EMAIL PROTECTED]> wrote:

>  > 2) you are allocating a new exception every time; the optimization
>  > described here [1] works only if the exception is pre-allocated.
>  > [1] http://blogs.sun.com/jrose/entry/longjumps_considered_inexpensive
>
>  I think that is not thread safe. Specifically, when the branch conveys
>  information (passed as arguments using a tail call, or embedded in the
>  exception) then you must use a locally allocated exception, right?

Yes, you must.   However, what makes allocating an exception expensive
is the fillInStack method, which has to walk the JVM stack.  If you
override that in your exception class with a do-nothing method, then
locally allocating exceptions is very cheap.

-- 
GMail doesn't have rotating .sigs, but you can see mine at
http://www.ccil.org/~cowan/signatures

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "JVM 
Languages" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/jvm-languages?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to