public class com.oracle.truffle.llvm.tests.interop.InteropTestBase
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.llvm.tests.interop.InteropTestBase
super_class: java.lang.Object
{
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()
protected static final java.nio.file.Path testBase;
descriptor: Ljava/nio/file/Path;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
public static final java.lang.String TEST_FILE_NAME;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: new com.oracle.truffle.tck.TruffleRunner$RunWithPolyglotRule
dup
invokestatic com.oracle.truffle.llvm.tests.interop.InteropTestBase.getContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
invokespecial com.oracle.truffle.tck.TruffleRunner$RunWithPolyglotRule.<init>:(Lorg/graalvm/polyglot/Context$Builder;)V
putstatic com.oracle.truffle.llvm.tests.interop.InteropTestBase.runWithPolyglot:Lcom/oracle/truffle/tck/TruffleRunner$RunWithPolyglotRule;
1: getstatic com.oracle.truffle.llvm.tests.options.TestOptions.TEST_SUITE_PATH:Ljava/lang/String;
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "interop"
aastore
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
putstatic com.oracle.truffle.llvm.tests.interop.InteropTestBase.testBase:Ljava/nio/file/Path;
2: new java.lang.StringBuilder
dup
ldc "O1."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
invokestatic com.oracle.truffle.llvm.runtime.NativeContextExtension.getNativeLibrarySuffix:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putstatic com.oracle.truffle.llvm.tests.interop.InteropTestBase.TEST_FILE_NAME:Ljava/lang/String;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/tests/interop/InteropTestBase;
public static org.graalvm.polyglot.Context$Builder getContextBuilder();
descriptor: ()Lorg/graalvm/polyglot/Context$Builder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: ldc "test.sulongtest.lib.path"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 0
start local 0 1: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
iconst_1
invokevirtual org.graalvm.polyglot.Context$Builder.allowAllAccess:(Z)Lorg/graalvm/polyglot/Context$Builder;
iconst_1
invokevirtual org.graalvm.polyglot.Context$Builder.allowExperimentalOptions:(Z)Lorg/graalvm/polyglot/Context$Builder;
ldc "llvm.libraryPath"
aload 0
invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
ldc "llvm.C++Interop"
ldc "true"
invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 2 0 lib Ljava/lang/String;
protected static java.lang.Object loadTestBitcodeInternal(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=7, locals=3, args_size=1
start local 0 0: getstatic com.oracle.truffle.llvm.tests.interop.InteropTestBase.testBase:Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
iconst_2
anewarray java.lang.String
dup
iconst_0
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".dir"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
dup
iconst_1
getstatic com.oracle.truffle.llvm.tests.interop.InteropTestBase.TEST_FILE_NAME:Ljava/lang/String;
aastore
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
astore 1
start local 1 1: aload 1
invokestatic com.oracle.truffle.llvm.tests.interop.InteropTestBase.getTestBitcodeCallTarget:(Ljava/io/File;)Lcom/oracle/truffle/api/CallTarget;
astore 2
start local 2 2: aload 2
iconst_0
anewarray java.lang.Object
invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 name Ljava/lang/String;
1 3 1 file Ljava/io/File;
2 3 2 target Lcom/oracle/truffle/api/CallTarget;
MethodParameters:
Name Flags
name
protected static com.oracle.truffle.api.CallTarget getTestBitcodeCallTarget(java.io.File);
descriptor: (Ljava/io/File;)Lcom/oracle/truffle/api/CallTarget;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: getstatic com.oracle.truffle.llvm.tests.interop.InteropTestBase.runWithPolyglot:Lcom/oracle/truffle/tck/TruffleRunner$RunWithPolyglotRule;
invokevirtual com.oracle.truffle.tck.TruffleRunner$RunWithPolyglotRule.getTruffleTestEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 0
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 1
start local 1 1: ldc "llvm"
aload 1
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 2
start local 2 2: getstatic com.oracle.truffle.llvm.tests.interop.InteropTestBase.runWithPolyglot:Lcom/oracle/truffle/tck/TruffleRunner$RunWithPolyglotRule;
invokevirtual com.oracle.truffle.tck.TruffleRunner$RunWithPolyglotRule.getTruffleTestEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 2
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;
3: areturn
end local 2 4: StackMap locals: java.io.File com.oracle.truffle.api.TruffleFile
StackMap stack: java.io.IOException
astore 2
start local 2 5: new java.lang.AssertionError
dup
aload 2
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 file Ljava/io/File;
1 6 1 tf Lcom/oracle/truffle/api/TruffleFile;
2 4 2 source Lcom/oracle/truffle/api/source/Source;
5 6 2 ex Ljava/io/IOException;
Exception table:
from to target type
1 3 4 Class java.io.IOException
MethodParameters:
Name Flags
file
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=7, locals=4, args_size=1
start local 0 0: getstatic com.oracle.truffle.llvm.tests.interop.InteropTestBase.testBase:Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
iconst_2
anewarray java.lang.String
dup
iconst_0
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".dir"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
dup
iconst_1
getstatic com.oracle.truffle.llvm.tests.interop.InteropTestBase.TEST_FILE_NAME:Ljava/lang/String;
aastore
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[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.interop.InteropTestBase.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
}
SourceFile: "InteropTestBase.java"
NestMembers:
com.oracle.truffle.llvm.tests.interop.InteropTestBase$SulongTestNode
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
public SulongTestNode = com.oracle.truffle.llvm.tests.interop.InteropTestBase$SulongTestNode of com.oracle.truffle.llvm.tests.interop.InteropTestBase
public final RunWithPolyglotRule = com.oracle.truffle.tck.TruffleRunner$RunWithPolyglotRule of com.oracle.truffle.tck.TruffleRunner
public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context
public Builder = org.graalvm.polyglot.Source$Builder of org.graalvm.polyglot.Source