ARM and repeating exceptions

Aleksey Shipilev aleksey.shipilev at gmail.com
Wed May 23 09:05:56 PDT 2012


On Wed, May 23, 2012 at 8:01 PM, Aleksey Shipilev
<aleksey.shipilev at gmail.com> wrote:
> This had already happened in real project. Fixing this glitch with
> null-check will help this corner case without compromising the usual
> behavior.

Sorry, I was meant to say "equality check":

    final VariableModifiers_minus_final R Identifier = Expression;
    Throwable #primaryExc = null;

    try ResourceSpecification_tail
        Block
    catch (Throwable #t) {
        #primaryExc = #t;
        throw #t;
    } finally {
        if (Identifier != null) {
            if (#primaryExc != null) {
                try {
                    Identifier.close();
                } catch (Throwable #suppressedExc) {
                    if (#suppressedExc != #primaryExc)  // add this
                          #primaryExc.addSuppressed(#suppressedExc);
                }
            } else {
                Identifier.close();
            }
        }
    }

-Aleksey.



More information about the compiler-dev mailing list