public class com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest
super_class: java.lang.Object
{
private static final java.nio.file.Path TEST_DIR;
descriptor: Ljava/nio/file/Path;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String FILENAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "O0.bc"
public static final org.hamcrest.BaseMatcher<java.lang.String> EXCEEDS_LIMIT;
descriptor: Lorg/hamcrest/BaseMatcher;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lorg/hamcrest/BaseMatcher<Ljava/lang/String;>;
public static com.oracle.truffle.tck.TruffleRunner$RunWithPolyglotRule runWithPolyglot;
descriptor: Lcom/oracle/truffle/tck/TruffleRunner$RunWithPolyglotRule;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
RuntimeVisibleAnnotations:
org.junit.ClassRule()
public org.junit.rules.ExpectedException exception;
descriptor: Lorg/junit/rules/ExpectedException;
flags: (0x0001) ACC_PUBLIC
RuntimeVisibleAnnotations:
org.junit.Rule()
public static org.graalvm.polyglot.Value library;
descriptor: Lorg/graalvm/polyglot/Value;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: new java.io.File
dup
getstatic com.oracle.truffle.llvm.tests.options.TestOptions.LL_TEST_SUITE_PATH:Ljava/lang/String;
ldc "other"
invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
putstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.TEST_DIR:Ljava/nio/file/Path;
1: new com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest$1
dup
invokespecial com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest$1.<init>:()V
putstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.EXCEEDS_LIMIT:Lorg/hamcrest/BaseMatcher;
2: new com.oracle.truffle.tck.TruffleRunner$RunWithPolyglotRule
dup
invokespecial com.oracle.truffle.tck.TruffleRunner$RunWithPolyglotRule.<init>:()V
putstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.runWithPolyglot:Lcom/oracle/truffle/tck/TruffleRunner$RunWithPolyglotRule;
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
invokestatic org.junit.rules.ExpectedException.none:()Lorg/junit/rules/ExpectedException;
putfield com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.exception:Lorg/junit/rules/ExpectedException;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/llvm/tests/bitcode/AllocationLimitsTest;
protected static java.lang.Object loadTestBitcodeInternal(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: getstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.TEST_DIR:Ljava/nio/file/Path;
aload 0
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
ldc "O0.bc"
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
astore 1
start local 1 1: getstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.runWithPolyglot:Lcom/oracle/truffle/tck/TruffleRunner$RunWithPolyglotRule;
invokevirtual com.oracle.truffle.tck.TruffleRunner$RunWithPolyglotRule.getTruffleTestEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 1
invokevirtual java.io.File.toURI:()Ljava/net/URI;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getPublicTruffleFile:(Ljava/net/URI;)Lcom/oracle/truffle/api/TruffleFile;
astore 2
start local 2 2: ldc "llvm"
aload 2
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 3
start local 3 3: goto 6
end local 3 StackMap locals: java.lang.String java.io.File com.oracle.truffle.api.TruffleFile
StackMap stack: java.io.IOException
4: astore 4
start local 4 5: new java.lang.AssertionError
dup
aload 4
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 4 start local 3 6: StackMap locals: com.oracle.truffle.api.source.Source
StackMap stack:
getstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.runWithPolyglot:Lcom/oracle/truffle/tck/TruffleRunner$RunWithPolyglotRule;
invokevirtual com.oracle.truffle.tck.TruffleRunner$RunWithPolyglotRule.getTruffleTestEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 3
iconst_0
anewarray java.lang.String
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.parsePublic:(Lcom/oracle/truffle/api/source/Source;[Ljava/lang/String;)Lcom/oracle/truffle/api/CallTarget;
astore 4
start local 4 7: aload 4
iconst_0
anewarray java.lang.Object
invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 name Ljava/lang/String;
1 8 1 file Ljava/io/File;
2 8 2 tf Lcom/oracle/truffle/api/TruffleFile;
3 4 3 source Lcom/oracle/truffle/api/source/Source;
6 8 3 source Lcom/oracle/truffle/api/source/Source;
5 6 4 ex Ljava/io/IOException;
7 8 4 target Lcom/oracle/truffle/api/CallTarget;
Exception table:
from to target type
2 3 4 Class java.io.IOException
MethodParameters:
Name Flags
name
protected static org.graalvm.polyglot.Value loadTestBitcodeValue(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: getstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.TEST_DIR:Ljava/nio/file/Path;
aload 0
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
ldc "O0.bc"
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
astore 1
start local 1 1: ldc "llvm"
aload 1
invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/io/File;)Lorg/graalvm/polyglot/Source$Builder;
invokevirtual org.graalvm.polyglot.Source$Builder.build:()Lorg/graalvm/polyglot/Source;
astore 2
start local 2 2: goto 5
end local 2 StackMap locals: java.lang.String java.io.File
StackMap stack: java.io.IOException
3: astore 3
start local 3 4: new java.lang.AssertionError
dup
aload 3
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 3 start local 2 5: StackMap locals: org.graalvm.polyglot.Source
StackMap stack:
getstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.runWithPolyglot:Lcom/oracle/truffle/tck/TruffleRunner$RunWithPolyglotRule;
invokevirtual com.oracle.truffle.tck.TruffleRunner$RunWithPolyglotRule.getPolyglotContext:()Lorg/graalvm/polyglot/Context;
aload 2
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 name Ljava/lang/String;
1 6 1 file Ljava/io/File;
2 3 2 source Lorg/graalvm/polyglot/Source;
5 6 2 source Lorg/graalvm/polyglot/Source;
4 5 3 ex Ljava/io/IOException;
Exception table:
from to target type
1 2 3 Class java.io.IOException
MethodParameters:
Name Flags
name
public static void setup();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "allocation_limits.ll.dir"
invokestatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.loadTestBitcodeValue:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
putstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.library:Lorg/graalvm/polyglot/Value;
1: return
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
org.junit.BeforeClass()
public void allocaMaxSize();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.exception:Lorg/junit/rules/ExpectedException;
ldc Lorg/graalvm/polyglot/PolyglotException;
invokevirtual org.junit.rules.ExpectedException.expect:(Ljava/lang/Class;)V
1: aload 0
getfield com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.exception:Lorg/junit/rules/ExpectedException;
ldc "unsupported value range"
invokevirtual org.junit.rules.ExpectedException.expectMessage:(Ljava/lang/String;)V
2: getstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.library:Lorg/graalvm/polyglot/Value;
ldc "alloca_max_size"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
pop
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/llvm/tests/bitcode/AllocationLimitsTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public void allocaMaxSizeI1();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.exception:Lorg/junit/rules/ExpectedException;
ldc Lorg/graalvm/polyglot/PolyglotException;
invokevirtual org.junit.rules.ExpectedException.expect:(Ljava/lang/Class;)V
1: aload 0
getfield com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.exception:Lorg/junit/rules/ExpectedException;
getstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.EXCEEDS_LIMIT:Lorg/hamcrest/BaseMatcher;
invokevirtual org.junit.rules.ExpectedException.expectMessage:(Lorg/hamcrest/Matcher;)V
2: getstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.library:Lorg/graalvm/polyglot/Value;
ldc "alloca_max_size_i1"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
pop
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/llvm/tests/bitcode/AllocationLimitsTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public void allocaMaxSizeI64();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.exception:Lorg/junit/rules/ExpectedException;
ldc Lorg/graalvm/polyglot/PolyglotException;
invokevirtual org.junit.rules.ExpectedException.expect:(Ljava/lang/Class;)V
1: aload 0
getfield com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.exception:Lorg/junit/rules/ExpectedException;
getstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.EXCEEDS_LIMIT:Lorg/hamcrest/BaseMatcher;
invokevirtual org.junit.rules.ExpectedException.expectMessage:(Lorg/hamcrest/Matcher;)V
2: getstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.library:Lorg/graalvm/polyglot/Value;
ldc "alloca_max_size_i64"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
pop
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/llvm/tests/bitcode/AllocationLimitsTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public void allocaParameter();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: getstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.library:Lorg/graalvm/polyglot/Value;
ldc "alloca_parameter"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc 16
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
astore 1
start local 1 1: aload 1
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/llvm/tests/bitcode/AllocationLimitsTest;
1 3 1 v Lorg/graalvm/polyglot/Value;
RuntimeVisibleAnnotations:
org.junit.Test()
public void allocaParameterMaxSize();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.exception:Lorg/junit/rules/ExpectedException;
ldc Lorg/graalvm/polyglot/PolyglotException;
invokevirtual org.junit.rules.ExpectedException.expect:(Ljava/lang/Class;)V
1: aload 0
getfield com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.exception:Lorg/junit/rules/ExpectedException;
getstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.EXCEEDS_LIMIT:Lorg/hamcrest/BaseMatcher;
invokevirtual org.junit.rules.ExpectedException.expectMessage:(Lorg/hamcrest/Matcher;)V
2: getstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.library:Lorg/graalvm/polyglot/Value;
ldc "alloca_parameter"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc -1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
pop
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/llvm/tests/bitcode/AllocationLimitsTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public void allocaParameterOverflowInt();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.exception:Lorg/junit/rules/ExpectedException;
ldc Lorg/graalvm/polyglot/PolyglotException;
invokevirtual org.junit.rules.ExpectedException.expect:(Ljava/lang/Class;)V
1: aload 0
getfield com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.exception:Lorg/junit/rules/ExpectedException;
getstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.EXCEEDS_LIMIT:Lorg/hamcrest/BaseMatcher;
invokevirtual org.junit.rules.ExpectedException.expectMessage:(Lorg/hamcrest/Matcher;)V
2: getstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.library:Lorg/graalvm/polyglot/Value;
ldc "alloca_parameter"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc -4294967280
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
pop
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/llvm/tests/bitcode/AllocationLimitsTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public void allocaOverflowInt();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.exception:Lorg/junit/rules/ExpectedException;
ldc Lorg/graalvm/polyglot/PolyglotException;
invokevirtual org.junit.rules.ExpectedException.expect:(Ljava/lang/Class;)V
1: aload 0
getfield com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.exception:Lorg/junit/rules/ExpectedException;
ldc "unsupported value range"
invokevirtual org.junit.rules.ExpectedException.expectMessage:(Ljava/lang/String;)V
2: getstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.library:Lorg/graalvm/polyglot/Value;
ldc "alloca_overflow_int"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
pop
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/llvm/tests/bitcode/AllocationLimitsTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public void allocaOverflowIntI1();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.exception:Lorg/junit/rules/ExpectedException;
ldc Lorg/graalvm/polyglot/PolyglotException;
invokevirtual org.junit.rules.ExpectedException.expect:(Ljava/lang/Class;)V
1: aload 0
getfield com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.exception:Lorg/junit/rules/ExpectedException;
getstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.EXCEEDS_LIMIT:Lorg/hamcrest/BaseMatcher;
invokevirtual org.junit.rules.ExpectedException.expectMessage:(Lorg/hamcrest/Matcher;)V
2: getstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.library:Lorg/graalvm/polyglot/Value;
ldc "alloca_overflow_int_i1"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
pop
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/llvm/tests/bitcode/AllocationLimitsTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public void allocaOverflowIntI64();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.exception:Lorg/junit/rules/ExpectedException;
ldc Lorg/graalvm/polyglot/PolyglotException;
invokevirtual org.junit.rules.ExpectedException.expect:(Ljava/lang/Class;)V
1: aload 0
getfield com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.exception:Lorg/junit/rules/ExpectedException;
getstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.EXCEEDS_LIMIT:Lorg/hamcrest/BaseMatcher;
invokevirtual org.junit.rules.ExpectedException.expectMessage:(Lorg/hamcrest/Matcher;)V
2: getstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.library:Lorg/graalvm/polyglot/Value;
ldc "alloca_overflow_int_i64"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
pop
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/llvm/tests/bitcode/AllocationLimitsTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public void arrayMaxSizePtr();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.library:Lorg/graalvm/polyglot/Value;
ldc "array_max_size_ptr"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
iconst_1
anewarray java.lang.Object
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
astore 1
start local 1 1: aload 1
invokevirtual org.graalvm.polyglot.Value.asBoolean:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/llvm/tests/bitcode/AllocationLimitsTest;
1 3 1 v Lorg/graalvm/polyglot/Value;
RuntimeVisibleAnnotations:
org.junit.Test()
public void arrayNegativeOffset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: getstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.library:Lorg/graalvm/polyglot/Value;
ldc "alloca_array_negative_offset"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
astore 1
start local 1 1: ldc 2
aload 1
invokevirtual org.graalvm.polyglot.Value.asLong:()J
invokestatic org.junit.Assert.assertEquals:(JJ)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/llvm/tests/bitcode/AllocationLimitsTest;
1 3 1 v Lorg/graalvm/polyglot/Value;
RuntimeVisibleAnnotations:
org.junit.Test()
public void allocaArrayExceedSize();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.exception:Lorg/junit/rules/ExpectedException;
ldc Lorg/graalvm/polyglot/PolyglotException;
invokevirtual org.junit.rules.ExpectedException.expect:(Ljava/lang/Class;)V
1: aload 0
getfield com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.exception:Lorg/junit/rules/ExpectedException;
getstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.EXCEEDS_LIMIT:Lorg/hamcrest/BaseMatcher;
invokevirtual org.junit.rules.ExpectedException.expectMessage:(Lorg/hamcrest/Matcher;)V
2: getstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.library:Lorg/graalvm/polyglot/Value;
ldc "alloca_array_exceed_size"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
pop
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/llvm/tests/bitcode/AllocationLimitsTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public void allocaArrayOverflowInt();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.exception:Lorg/junit/rules/ExpectedException;
ldc Lorg/graalvm/polyglot/PolyglotException;
invokevirtual org.junit.rules.ExpectedException.expect:(Ljava/lang/Class;)V
1: aload 0
getfield com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.exception:Lorg/junit/rules/ExpectedException;
getstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.EXCEEDS_LIMIT:Lorg/hamcrest/BaseMatcher;
invokevirtual org.junit.rules.ExpectedException.expectMessage:(Lorg/hamcrest/Matcher;)V
2: getstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.library:Lorg/graalvm/polyglot/Value;
ldc "alloca_array_overflow_int"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
pop
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/llvm/tests/bitcode/AllocationLimitsTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public void vectorMaxSizePtr();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.library:Lorg/graalvm/polyglot/Value;
ldc "vector_max_size_ptr"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
iconst_1
anewarray java.lang.Object
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
astore 1
start local 1 1: aload 1
invokevirtual org.graalvm.polyglot.Value.asBoolean:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/llvm/tests/bitcode/AllocationLimitsTest;
1 3 1 v Lorg/graalvm/polyglot/Value;
RuntimeVisibleAnnotations:
org.junit.Test()
public void allocaVectorIntMinValue();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.exception:Lorg/junit/rules/ExpectedException;
ldc Lorg/graalvm/polyglot/PolyglotException;
invokevirtual org.junit.rules.ExpectedException.expect:(Ljava/lang/Class;)V
1: aload 0
getfield com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.exception:Lorg/junit/rules/ExpectedException;
getstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.EXCEEDS_LIMIT:Lorg/hamcrest/BaseMatcher;
invokevirtual org.junit.rules.ExpectedException.expectMessage:(Lorg/hamcrest/Matcher;)V
2: getstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.library:Lorg/graalvm/polyglot/Value;
ldc "alloca_vector_int_min_value"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
pop
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/llvm/tests/bitcode/AllocationLimitsTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public void allocaVectorIntMinusOne();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.exception:Lorg/junit/rules/ExpectedException;
ldc Lorg/graalvm/polyglot/PolyglotException;
invokevirtual org.junit.rules.ExpectedException.expect:(Ljava/lang/Class;)V
1: aload 0
getfield com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.exception:Lorg/junit/rules/ExpectedException;
getstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.EXCEEDS_LIMIT:Lorg/hamcrest/BaseMatcher;
invokevirtual org.junit.rules.ExpectedException.expectMessage:(Lorg/hamcrest/Matcher;)V
2: getstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.library:Lorg/graalvm/polyglot/Value;
ldc "alloca_vector_int_minus_one"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
pop
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/llvm/tests/bitcode/AllocationLimitsTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public void allocaVarWidthMinIntBits();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.library:Lorg/graalvm/polyglot/Value;
ldc "alloca_varwidth_min_int_bits"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
astore 1
start local 1 1: aload 1
invokevirtual org.graalvm.polyglot.Value.asBoolean:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/llvm/tests/bitcode/AllocationLimitsTest;
1 3 1 v Lorg/graalvm/polyglot/Value;
RuntimeVisibleAnnotations:
org.junit.Test()
public void allocaVarWidthMaxIntBits();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: getstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.library:Lorg/graalvm/polyglot/Value;
ldc "alloca_varwidth_max_int_bits"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
astore 1
start local 1 1: aload 1
invokevirtual org.graalvm.polyglot.Value.asLong:()J
lstore 2
start local 2 2: lload 2
lconst_0
lcmp
ifeq 3
iconst_1
goto 4
StackMap locals: org.graalvm.polyglot.Value long
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: invokestatic org.junit.Assert.assertTrue:(Z)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/llvm/tests/bitcode/AllocationLimitsTest;
1 6 1 v Lorg/graalvm/polyglot/Value;
2 6 2 bytesAllocated J
RuntimeVisibleAnnotations:
org.junit.Test()
public void varWidthMaxIntBitsPtr();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.library:Lorg/graalvm/polyglot/Value;
ldc "varwidth_max_int_bits_ptr"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
iconst_1
anewarray java.lang.Object
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
astore 1
start local 1 1: aload 1
invokevirtual org.graalvm.polyglot.Value.asBoolean:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/llvm/tests/bitcode/AllocationLimitsTest;
1 3 1 v Lorg/graalvm/polyglot/Value;
RuntimeVisibleAnnotations:
org.junit.Test()
public void allocaVarWidthUnderflow();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.exception:Lorg/junit/rules/ExpectedException;
ldc Lcom/oracle/truffle/llvm/runtime/except/LLVMParserException;
invokevirtual org.junit.rules.ExpectedException.expect:(Ljava/lang/Class;)V
1: aload 0
getfield com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.exception:Lorg/junit/rules/ExpectedException;
ldc "out of range"
invokevirtual org.junit.rules.ExpectedException.expectMessage:(Ljava/lang/String;)V
2: new com.oracle.truffle.llvm.runtime.types.VariableBitWidthType
dup
iconst_0
invokespecial com.oracle.truffle.llvm.runtime.types.VariableBitWidthType.<init>:(I)V
astore 1
start local 1 3: aload 1
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/llvm/tests/bitcode/AllocationLimitsTest;
3 5 1 varWidth Lcom/oracle/truffle/llvm/runtime/types/VariableBitWidthType;
RuntimeVisibleAnnotations:
org.junit.Test()
public void allocaVarWidthOverflow();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.exception:Lorg/junit/rules/ExpectedException;
ldc Lcom/oracle/truffle/llvm/runtime/except/LLVMParserException;
invokevirtual org.junit.rules.ExpectedException.expect:(Ljava/lang/Class;)V
1: aload 0
getfield com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest.exception:Lorg/junit/rules/ExpectedException;
ldc "out of range"
invokevirtual org.junit.rules.ExpectedException.expectMessage:(Ljava/lang/String;)V
2: new com.oracle.truffle.llvm.runtime.types.VariableBitWidthType
dup
ldc 16777216
invokespecial com.oracle.truffle.llvm.runtime.types.VariableBitWidthType.<init>:(I)V
astore 1
start local 1 3: aload 1
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/llvm/tests/bitcode/AllocationLimitsTest;
3 5 1 varWidth Lcom/oracle/truffle/llvm/runtime/types/VariableBitWidthType;
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "AllocationLimitsTest.java"
NestMembers:
com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest$1
InnerClasses:
public final Env = com.oracle.truffle.api.TruffleLanguage$Env of com.oracle.truffle.api.TruffleLanguage
public SourceBuilder = com.oracle.truffle.api.source.Source$SourceBuilder of com.oracle.truffle.api.source.Source
com.oracle.truffle.llvm.tests.bitcode.AllocationLimitsTest$1
public final RunWithPolyglotRule = com.oracle.truffle.tck.TruffleRunner$RunWithPolyglotRule of com.oracle.truffle.tck.TruffleRunner
public Builder = org.graalvm.polyglot.Source$Builder of org.graalvm.polyglot.Source