test/runtime/handlerInTry/IsolatedHandlerInTry.jasm

Mon, 06 Nov 2017 16:51:47 +0800

author
aoqi
date
Mon, 06 Nov 2017 16:51:47 +0800
changeset 7997
6cbff0651f1a
parent 7643
695017a614d5
permissions
-rw-r--r--

[Code Reorganization] remove trailing whitespace to pass jcheck test

     1 /*
     2  * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     8  *
     9  * This code is distributed in the hope that it will be useful, but WITHOUT
    10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    12  * version 2 for more details (a copy is included in the LICENSE file that
    13  * accompanied this code).
    14  *
    15  * You should have received a copy of the GNU General Public License version
    16  * 2 along with this work; if not, write to the Free Software Foundation,
    17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    18  *
    19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    20  * or visit www.oracle.com if you need additional information or have any
    21  * questions.
    22  */
    24 /*
    25  * IsolatedHandlerInTry contains a try block in a ctor whose handler is inside
    26  * the same try block but the handler can only be reached if an exception
    27  * occurs.  The handler does a return.  So, a VerifyException should be thrown.
    28  * The try block starts at line 77 (try t2;) and ends at line 113 (endtry t2;).
    29  * Its handler starts at line 107 (catch t2 #0;).  The handler can only be reached
    30  * by exception because of the athrow at line 106.
    31  */
    32 super public class IsolatedHandlerInTry
    33     version 51:0
    34 {
    36 public static final synthetic Field ___transactionFactory_2002349702336125:"Ljava/lang/Object;";
    38 public Method "<init>":"(Ljava/lang/Object;)V"
    39     stack 5 locals 5
    40 {
    41         invokestatic    Method ThreadLocalTransaction.getThreadLocalTransaction:"()Ljava/lang/Object;";
    42         checkcast    class java/lang/Object;
    43         astore_2;
    44         aload_2;
    45         invokestatic    Method TransactionLogicDonor.isActiveTransaction:"(Ljava/lang/Object;)Z";
    46         ifeq    L21;
    47         aload_0;
    48         aload_1;
    49         aload_2;
    50         invokespecial    Method "<init>":"(Ljava/lang/Object;Ljava/lang/Object;)V";
    51         return;
    52     L21:    stack_frame_type append;
    53         locals_map class java/lang/Object;
    54         aload_2;
    55         getstatic    Field ___transactionFactory_2002349702336125:"Ljava/lang/Object;";
    56         invokestatic    Method TransactionLogicDonor.createTransaction:"(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;";
    57         astore_2;
    58         aload_2;
    59         iconst_1;
    60         pop;
    61         aload_2;
    62         invokestatic    Method ThreadLocalTransaction.setThreadLocalTransaction:"(Ljava/lang/Object;)V";
    63         try t0, t1;
    64         aload_0;
    65         aload_1;
    66         aload_2;
    67         invokespecial    Method "<init>":"(Ljava/lang/Object;Ljava/lang/Object;)V";
    68         aload_2;
    69         pop;
    70         aconst_null;
    71         astore_2;
    72         endtry t0, t1;
    73         invokestatic    Method ThreadLocalTransaction.clearThreadLocalTransaction:"()V";
    74         pop;
    75         goto    L107;
    76         catch t0 java/lang/Throwable;
    77         try t2;
    78         stack_frame_type full;
    79         locals_map bogus, class java/lang/Object, class java/lang/Object;
    80         stack_map class java/lang/Throwable;
    81         astore_3;
    82         aload_2;
    83         pop;
    84         aload_3;
    85         instanceof    class ControlFlowError;
    86         ifeq    L82;
    87         new    class java/lang/NullPointerException;
    88         dup;
    89         invokespecial    Method java/lang/NullPointerException."<init>":"()V";
    90         athrow;
    91     L82:    stack_frame_type append;
    92         locals_map class java/lang/Throwable;
    93         aload_3;
    94         instanceof    class java/lang/Error;
    95         ifeq    L94;
    96         aload_3;
    97         checkcast    class java/lang/Error;
    98         athrow;
    99     L94:    stack_frame_type same;
   100         aload_3;
   101         checkcast    class java/lang/Exception;
   102         catch t1 #0;
   103         stack_frame_type full;
   104         locals_map bogus, class java/lang/Object, class java/lang/Object;
   105         stack_map class java/lang/Throwable;
   106         athrow;
   107         catch t2 #0;
   108         stack_frame_type full;
   109         locals_map bogus, class java/lang/Object, class java/lang/Object;
   110         stack_map class java/lang/Throwable;
   111         astore    4;
   112         return;
   113         endtry t2;
   114         stack_frame_type full;
   115         locals_map bogus, class java/lang/Object, class java/lang/Object, class java/lang/Object;
   116         stack_map class java/lang/Throwable;
   117         invokestatic    Method ThreadLocalTransaction.clearThreadLocalTransaction:"()V";
   118         athrow;
   119     L107:    stack_frame_type full;
   120         locals_map class IsolatedHandlerInTry, class java/lang/Object, null;
   121         return;
   122 }
   124 } // end Class IsolatedHandlerInTry

mercurial