public class org.graalvm.compiler.truffle.test.CompilationMemoryTest extends org.graalvm.compiler.truffle.test.TestWithPolyglotOptions
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.truffle.test.CompilationMemoryTest
super_class: org.graalvm.compiler.truffle.test.TestWithPolyglotOptions
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.graalvm.compiler.truffle.test.CompilationMemoryTest this
0: .line 38
aload 0 /* this */
invokespecial org.graalvm.compiler.truffle.test.TestWithPolyglotOptions.<init>:()V
return
end local 0 // org.graalvm.compiler.truffle.test.CompilationMemoryTest this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/truffle/test/CompilationMemoryTest;
public void setUp();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 // org.graalvm.compiler.truffle.test.CompilationMemoryTest this
0: .line 42
aload 0 /* this */
iconst_4
anewarray java.lang.String
dup
iconst_0
ldc "engine.CompileImmediately"
aastore
dup
iconst_1
ldc "true"
aastore
dup
iconst_2
ldc "engine.BackgroundCompilation"
aastore
dup
iconst_3
ldc "false"
aastore
invokevirtual org.graalvm.compiler.truffle.test.CompilationMemoryTest.setupContext:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context;
pop
1: .line 43
return
end local 0 // org.graalvm.compiler.truffle.test.CompilationMemoryTest this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/truffle/test/CompilationMemoryTest;
RuntimeVisibleAnnotations:
org.junit.Before()
public void testFieldsFreedAfterCompilation();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 // org.graalvm.compiler.truffle.test.CompilationMemoryTest this
0: .line 47
new org.graalvm.compiler.truffle.test.CompilationMemoryTest$TestObject
dup
invokespecial org.graalvm.compiler.truffle.test.CompilationMemoryTest$TestObject.<init>:()V
astore 1 /* expected */
start local 1 // org.graalvm.compiler.truffle.test.CompilationMemoryTest$TestObject expected
1: .line 48
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
aload 1 /* expected */
invokestatic com.oracle.truffle.api.nodes.RootNode.createConstantNode:(Ljava/lang/Object;)Lcom/oracle/truffle/api/nodes/RootNode;
invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
checkcast org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
astore 2 /* callTarget */
start local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget callTarget
2: .line 49
aload 1 /* expected */
aload 2 /* callTarget */
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
3: .line 50
aload 1 /* expected */
aload 2 /* callTarget */
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
4: .line 51
aload 2 /* callTarget */
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
5: .line 52
new java.lang.ref.WeakReference
dup
aload 1 /* expected */
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
astore 3 /* ref */
start local 3 // java.lang.ref.Reference ref
6: .line 53
aconst_null
astore 1 /* expected */
7: .line 54
aconst_null
astore 2 /* callTarget */
8: .line 55
ldc "JavaConstant for TestObject should be freed after compilation."
aload 3 /* ref */
invokestatic com.oracle.truffle.api.test.GCUtils.assertGc:(Ljava/lang/String;Ljava/lang/ref/Reference;)V
9: .line 56
return
end local 3 // java.lang.ref.Reference ref
end local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget callTarget
end local 1 // org.graalvm.compiler.truffle.test.CompilationMemoryTest$TestObject expected
end local 0 // org.graalvm.compiler.truffle.test.CompilationMemoryTest this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/graalvm/compiler/truffle/test/CompilationMemoryTest;
1 10 1 expected Lorg/graalvm/compiler/truffle/test/CompilationMemoryTest$TestObject;
2 10 2 callTarget Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
6 10 3 ref Ljava/lang/ref/Reference<*>;
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "CompilationMemoryTest.java"
NestMembers:
org.graalvm.compiler.truffle.test.CompilationMemoryTest$TestObject
InnerClasses:
private final TestObject = org.graalvm.compiler.truffle.test.CompilationMemoryTest$TestObject of org.graalvm.compiler.truffle.test.CompilationMemoryTest