test/hotspot/jtreg/runtime/condy/CondyBadLDC.jasm
author phh
Sat, 30 Nov 2019 14:33:05 -0800
changeset 59330 5b96c12f909d
parent 48959 7b2c4f35fc28
permissions -rw-r--r--
8234541: C1 emits an empty message when it inlines successfully Summary: Use "inline" as the message when successfull Reviewed-by: thartmann, mdoerr Contributed-by: navy.xliu@gmail.com
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
48959
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
     1
/*
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
     2
 * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
     4
 *
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
     7
 * published by the Free Software Foundation.
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
     8
 *
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
     9
 * This code is distributed in the hope that it will be useful, but WITHOUT
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    10
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    11
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    12
 * version 2 for more details (a copy is included in the LICENSE file that
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    13
 * accompanied this code).
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    14
 *
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License version
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    16
 * 2 along with this work; if not, write to the Free Software Foundation,
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    17
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    18
 *
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    19
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    20
 * or visit www.oracle.com if you need additional information or have any
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    21
 * questions.
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    22
 */
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    23
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    24
/*
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    25
 * This test contains a incorrect ldc instruction of a condy whose loadable
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    26
 * constant is a double. VerifyError expected.
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    27
 */
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    28
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    29
class CondyBadLDC
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    30
	version 55:0
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    31
{
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    32
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    33
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    34
public Method "<init>":"()V"
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    35
	stack 1 locals 1
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    36
{
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    37
		aload_0;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    38
		invokespecial	Method java/lang/Object."<init>":"()V";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    39
		return;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    40
}
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    41
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    42
public static Method intConversion:"(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Class;I)Ljava/lang/Object;"
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    43
	throws java/lang/Throwable
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    44
	stack 4 locals 6
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    45
{
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    46
		aload_1;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    47
		astore	4;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    48
		iconst_m1;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    49
		istore	5;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    50
		aload	4;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    51
		invokevirtual	Method java/lang/String.hashCode:"()I";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    52
		lookupswitch{ //11
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    53
		-2001159796: L238;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    54
		-1538095928: L272;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    55
		-891985903: L255;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    56
		66: L108;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    57
		67: L124;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    58
		68: L140;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    59
		70: L156;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    60
		73: L172;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    61
		74: L188;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    62
		83: L204;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    63
		90: L221;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    64
		default: L286 };
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    65
	L108:	stack_frame_type append;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    66
		locals_map class java/lang/String, int;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    67
		aload	4;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    68
		ldc	String "B";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    69
		invokevirtual	Method java/lang/String.equals:"(Ljava/lang/Object;)Z";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    70
		ifeq	L286;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    71
		iconst_0;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    72
		istore	5;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    73
		goto	L286;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    74
	L124:	stack_frame_type same;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    75
		aload	4;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    76
		ldc	String "C";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    77
		invokevirtual	Method java/lang/String.equals:"(Ljava/lang/Object;)Z";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    78
		ifeq	L286;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    79
		iconst_1;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    80
		istore	5;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    81
		goto	L286;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    82
	L140:	stack_frame_type same;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    83
		aload	4;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    84
		ldc	String "D";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    85
		invokevirtual	Method java/lang/String.equals:"(Ljava/lang/Object;)Z";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    86
		ifeq	L286;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    87
		iconst_2;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    88
		istore	5;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    89
		goto	L286;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    90
	L156:	stack_frame_type same;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    91
		aload	4;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    92
		ldc	String "F";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    93
		invokevirtual	Method java/lang/String.equals:"(Ljava/lang/Object;)Z";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    94
		ifeq	L286;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    95
		iconst_3;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    96
		istore	5;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    97
		goto	L286;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    98
	L172:	stack_frame_type same;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
    99
		aload	4;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   100
		ldc	String "I";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   101
		invokevirtual	Method java/lang/String.equals:"(Ljava/lang/Object;)Z";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   102
		ifeq	L286;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   103
		iconst_4;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   104
		istore	5;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   105
		goto	L286;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   106
	L188:	stack_frame_type same;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   107
		aload	4;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   108
		ldc	String "J";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   109
		invokevirtual	Method java/lang/String.equals:"(Ljava/lang/Object;)Z";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   110
		ifeq	L286;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   111
		iconst_5;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   112
		istore	5;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   113
		goto	L286;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   114
	L204:	stack_frame_type same;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   115
		aload	4;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   116
		ldc	String "S";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   117
		invokevirtual	Method java/lang/String.equals:"(Ljava/lang/Object;)Z";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   118
		ifeq	L286;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   119
		bipush	6;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   120
		istore	5;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   121
		goto	L286;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   122
	L221:	stack_frame_type same;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   123
		aload	4;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   124
		ldc	String "Z";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   125
		invokevirtual	Method java/lang/String.equals:"(Ljava/lang/Object;)Z";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   126
		ifeq	L286;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   127
		bipush	7;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   128
		istore	5;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   129
		goto	L286;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   130
	L238:	stack_frame_type same;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   131
		aload	4;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   132
		ldc	String "nullRef";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   133
		invokevirtual	Method java/lang/String.equals:"(Ljava/lang/Object;)Z";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   134
		ifeq	L286;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   135
		bipush	8;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   136
		istore	5;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   137
		goto	L286;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   138
	L255:	stack_frame_type same;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   139
		aload	4;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   140
		ldc	String "string";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   141
		invokevirtual	Method java/lang/String.equals:"(Ljava/lang/Object;)Z";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   142
		ifeq	L286;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   143
		bipush	9;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   144
		istore	5;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   145
		goto	L286;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   146
	L272:	stack_frame_type same;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   147
		aload	4;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   148
		ldc	String "stringArray";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   149
		invokevirtual	Method java/lang/String.equals:"(Ljava/lang/Object;)Z";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   150
		ifeq	L286;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   151
		bipush	10;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   152
		istore	5;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   153
	L286:	stack_frame_type same;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   154
		iload	5;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   155
		tableswitch{ //0 to 10
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   156
		0: L348;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   157
		1: L354;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   158
		2: L360;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   159
		3: L366;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   160
		4: L372;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   161
		5: L377;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   162
		6: L383;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   163
		7: L389;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   164
		8: L402;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   165
		9: L404;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   166
		10: L407;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   167
		default: L422 };
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   168
	L348:	stack_frame_type same;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   169
		iload_3;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   170
		i2b;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   171
		invokestatic	Method java/lang/Byte.valueOf:"(B)Ljava/lang/Byte;";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   172
		areturn;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   173
	L354:	stack_frame_type same;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   174
		iload_3;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   175
		i2c;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   176
		invokestatic	Method java/lang/Character.valueOf:"(C)Ljava/lang/Character;";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   177
		areturn;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   178
	L360:	stack_frame_type same;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   179
		iload_3;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   180
		i2d;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   181
		invokestatic	Method java/lang/Double.valueOf:"(D)Ljava/lang/Double;";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   182
		areturn;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   183
	L366:	stack_frame_type same;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   184
		iload_3;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   185
		i2f;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   186
		invokestatic	Method java/lang/Float.valueOf:"(F)Ljava/lang/Float;";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   187
		areturn;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   188
	L372:	stack_frame_type same;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   189
		iload_3;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   190
		invokestatic	Method java/lang/Integer.valueOf:"(I)Ljava/lang/Integer;";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   191
		areturn;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   192
	L377:	stack_frame_type same;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   193
		iload_3;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   194
		i2l;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   195
		invokestatic	Method java/lang/Long.valueOf:"(J)Ljava/lang/Long;";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   196
		areturn;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   197
	L383:	stack_frame_type same;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   198
		iload_3;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   199
		i2s;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   200
		invokestatic	Method java/lang/Short.valueOf:"(S)Ljava/lang/Short;";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   201
		areturn;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   202
	L389:	stack_frame_type same;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   203
		iload_3;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   204
		ifle	L397;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   205
		iconst_1;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   206
		goto	L398;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   207
	L397:	stack_frame_type same;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   208
		iconst_0;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   209
	L398:	stack_frame_type stack1;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   210
		stack_map int;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   211
		invokestatic	Method java/lang/Boolean.valueOf:"(Z)Ljava/lang/Boolean;";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   212
		areturn;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   213
	L402:	stack_frame_type same;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   214
		aconst_null;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   215
		areturn;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   216
	L404:	stack_frame_type same;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   217
		ldc	String "string";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   218
		areturn;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   219
	L407:	stack_frame_type same;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   220
		iconst_2;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   221
		anewarray	class java/lang/String;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   222
		dup;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   223
		iconst_0;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   224
		ldc	String "string";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   225
		aastore;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   226
		dup;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   227
		iconst_1;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   228
		ldc	String "string";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   229
		aastore;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   230
		areturn;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   231
	L422:	stack_frame_type same;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   232
		new	class java/lang/BootstrapMethodError;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   233
		dup;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   234
		ldc	String "Failure to generate a dynamic constant";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   235
		invokespecial	Method java/lang/BootstrapMethodError."<init>":"(Ljava/lang/String;)V";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   236
		athrow;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   237
}
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   238
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   239
public static Method D:"()D"
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   240
	stack 2 locals 0
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   241
{
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   242
                // ldc of a double will yield a VerifyError, should be an ldc2_w instruction
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   243
		ldc	Dynamic REF_invokeStatic:CondyBadLDC.intConversion:"(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Class;I)Ljava/lang/Object;":D:"D" int 2147483647;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   244
		dreturn;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   245
}
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   246
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   247
public static Method main:"([Ljava/lang/String;)V"
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   248
	stack 2 locals 1
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   249
{
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   250
		invokestatic	Method D:"()D";
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   251
		return;
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   252
}
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   253
7b2c4f35fc28 8186211: Negative tests for CONSTANT_Dynamic
lfoltan
parents:
diff changeset
   254
} // end Class CondyBadLDC