test/runtime/handlerInTry/HandlerInTry.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 * HandlerInTry contains a try block in a ctor whose handler is inside
hseigel@7643 26 * the same try block. The try block starts at line 74 (try t2;), ends at
hseigel@7643 27 * line 106 (endtry t2;), but its handler starts at line 101 (catch t2 #0;).
hseigel@7643 28 */
hseigel@7643 29 super public class HandlerInTry
hseigel@7643 30 version 51:0
hseigel@7643 31 {
hseigel@7643 32
hseigel@7643 33 public static final synthetic Field ___transactionFactory_2002349702336125:"Ljava/lang/Object;";
hseigel@7643 34
hseigel@7643 35 public Method "<init>":"(Ljava/lang/Object;)V"
hseigel@7643 36 stack 5 locals 5
hseigel@7643 37 {
hseigel@7643 38 invokestatic Method ThreadLocalTransaction.getThreadLocalTransaction:"()Ljava/lang/Object;";
hseigel@7643 39 checkcast class java/lang/Object;
hseigel@7643 40 astore_2;
hseigel@7643 41 aload_2;
hseigel@7643 42 invokestatic Method TransactionLogicDonor.isActiveTransaction:"(Ljava/lang/Object;)Z";
hseigel@7643 43 ifeq L21;
hseigel@7643 44 aload_0;
hseigel@7643 45 aload_1;
hseigel@7643 46 aload_2;
hseigel@7643 47 invokespecial Method "<init>":"(Ljava/lang/Object;Ljava/lang/Object;)V";
hseigel@7643 48 return;
hseigel@7643 49 L21: stack_frame_type append;
hseigel@7643 50 locals_map class java/lang/Object;
hseigel@7643 51 aload_2;
hseigel@7643 52 getstatic Field ___transactionFactory_2002349702336125:"Ljava/lang/Object;";
hseigel@7643 53 invokestatic Method TransactionLogicDonor.createTransaction:"(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;";
hseigel@7643 54 astore_2;
hseigel@7643 55 aload_2;
hseigel@7643 56 iconst_1;
hseigel@7643 57 pop;
hseigel@7643 58 aload_2;
hseigel@7643 59 invokestatic Method ThreadLocalTransaction.setThreadLocalTransaction:"(Ljava/lang/Object;)V";
hseigel@7643 60 try t0, t1;
hseigel@7643 61 aload_0;
hseigel@7643 62 aload_1;
hseigel@7643 63 aload_2;
hseigel@7643 64 invokespecial Method "<init>":"(Ljava/lang/Object;Ljava/lang/Object;)V";
hseigel@7643 65 aload_2;
hseigel@7643 66 pop;
hseigel@7643 67 aconst_null;
hseigel@7643 68 astore_2;
hseigel@7643 69 endtry t0, t1;
hseigel@7643 70 invokestatic Method ThreadLocalTransaction.clearThreadLocalTransaction:"()V";
hseigel@7643 71 pop;
hseigel@7643 72 goto L107;
hseigel@7643 73 catch t0 java/lang/Throwable;
hseigel@7643 74 try t2;
hseigel@7643 75 stack_frame_type full;
hseigel@7643 76 locals_map bogus, class java/lang/Object, class java/lang/Object;
hseigel@7643 77 stack_map class java/lang/Throwable;
hseigel@7643 78 astore_3;
hseigel@7643 79 aload_2;
hseigel@7643 80 pop;
hseigel@7643 81 aload_3;
hseigel@7643 82 instanceof class ControlFlowError;
hseigel@7643 83 ifeq L82;
hseigel@7643 84 new class java/lang/NullPointerException;
hseigel@7643 85 dup;
hseigel@7643 86 invokespecial Method java/lang/NullPointerException."<init>":"()V";
hseigel@7643 87 athrow;
hseigel@7643 88 L82: stack_frame_type append;
hseigel@7643 89 locals_map class java/lang/Throwable;
hseigel@7643 90 aload_3;
hseigel@7643 91 instanceof class java/lang/Error;
hseigel@7643 92 ifeq L94;
hseigel@7643 93 aload_3;
hseigel@7643 94 checkcast class java/lang/Error;
hseigel@7643 95 athrow;
hseigel@7643 96 L94: stack_frame_type same;
hseigel@7643 97 aload_3;
hseigel@7643 98 checkcast class java/lang/Exception;
hseigel@7643 99 athrow;
hseigel@7643 100 catch t1 #0;
hseigel@7643 101 catch t2 #0;
hseigel@7643 102 stack_frame_type full;
hseigel@7643 103 locals_map bogus, class java/lang/Object, class java/lang/Object;
hseigel@7643 104 stack_map class java/lang/Throwable;
hseigel@7643 105 astore 4;
hseigel@7643 106 endtry t2;
hseigel@7643 107 invokestatic Method ThreadLocalTransaction.clearThreadLocalTransaction:"()V";
hseigel@7643 108 aload 4;
hseigel@7643 109 athrow;
hseigel@7643 110 L107: stack_frame_type full;
hseigel@7643 111 locals_map class HandlerInTry, class java/lang/Object, null;
hseigel@7643 112 return;
hseigel@7643 113 }
hseigel@7643 114
hseigel@7643 115 } // end Class HandlerInTry

mercurial