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

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

mercurial