public class com.oracle.svm.core.posix.PosixUtils
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.svm.core.posix.PosixUtils
super_class: java.lang.Object
{
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/svm/core/posix/PosixUtils;
static java.lang.String setLocale(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokestatic com.oracle.svm.core.posix.PosixUtils.getCategory:(Ljava/lang/String;)I
istore 2
start local 2 1: iload 2
aload 1
invokestatic com.oracle.svm.core.posix.PosixUtils.setLocale:(ILjava/lang/String;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 category Ljava/lang/String;
0 2 1 locale Ljava/lang/String;
1 2 2 intCategory I
MethodParameters:
Name Flags
category
locale
private static java.lang.String setLocale(int, java.lang.String);
descriptor: (ILjava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=7, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 3
1: iload 0
invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
checkcast org.graalvm.nativeimage.c.type.CCharPointer
invokestatic com.oracle.svm.core.posix.headers.Locale.setlocale:(ILorg/graalvm/nativeimage/c/type/CCharPointer;)Lorg/graalvm/nativeimage/c/type/CCharPointer;
astore 2
start local 2 2: aload 2
invokestatic org.graalvm.nativeimage.c.type.CTypeConversion.toJavaString:(Lorg/graalvm/nativeimage/c/type/CCharPointer;)Ljava/lang/String;
areturn
end local 2 3: StackMap locals:
StackMap stack:
aconst_null
astore 2
aconst_null
astore 3
4: aload 1
invokestatic org.graalvm.nativeimage.c.type.CTypeConversion.toCString:(Ljava/lang/CharSequence;)Lorg/graalvm/nativeimage/c/type/CTypeConversion$CCharPointerHolder;
astore 4
start local 4 5: aload 4
invokeinterface org.graalvm.nativeimage.c.type.CTypeConversion$CCharPointerHolder.get:()Lorg/graalvm/nativeimage/c/type/CCharPointer;
astore 5
start local 5 6: iload 0
aload 5
invokestatic com.oracle.svm.core.posix.headers.Locale.setlocale:(ILorg/graalvm/nativeimage/c/type/CCharPointer;)Lorg/graalvm/nativeimage/c/type/CCharPointer;
astore 6
start local 6 7: aload 6
invokestatic org.graalvm.nativeimage.c.type.CTypeConversion.toJavaString:(Lorg/graalvm/nativeimage/c/type/CCharPointer;)Ljava/lang/String;
8: aload 4
ifnull 9
aload 4
invokeinterface org.graalvm.nativeimage.c.type.CTypeConversion$CCharPointerHolder.close:()V
9: StackMap locals: int java.lang.String java.lang.Throwable java.lang.Throwable org.graalvm.nativeimage.c.type.CTypeConversion$CCharPointerHolder org.graalvm.nativeimage.c.type.CCharPointer org.graalvm.nativeimage.c.type.CCharPointer
StackMap stack: java.lang.String
areturn
end local 6 end local 5 StackMap locals: int java.lang.String java.lang.Throwable java.lang.Throwable org.graalvm.nativeimage.c.type.CTypeConversion$CCharPointerHolder
StackMap stack: java.lang.Throwable
10: astore 2
11: aload 4
ifnull 12
aload 4
invokeinterface org.graalvm.nativeimage.c.type.CTypeConversion$CCharPointerHolder.close:()V
end local 4 StackMap locals:
StackMap stack:
12: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 3
aload 2
ifnonnull 14
aload 3
astore 2
goto 15
StackMap locals:
StackMap stack:
14: aload 2
aload 3
if_acmpeq 15
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
15: aload 2
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 category I
0 16 1 locale Ljava/lang/String;
2 3 2 cstrResult Lorg/graalvm/nativeimage/c/type/CCharPointer;
5 12 4 localePin Lorg/graalvm/nativeimage/c/type/CTypeConversion$CCharPointerHolder;
6 10 5 cstrLocale Lorg/graalvm/nativeimage/c/type/CCharPointer;
7 10 6 cstrResult Lorg/graalvm/nativeimage/c/type/CCharPointer;
Exception table:
from to target type
5 8 10 any
4 9 13 any
10 13 13 any
MethodParameters:
Name Flags
category
locale
private static int getCategory(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
dup
astore 1
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 7
-2054380871: 1
-1814695899: 2
739265685: 3
1000197908: 4
1129785749: 5
1135159614: 6
1427039541: 7
default: 15
}
StackMap locals: java.lang.String
StackMap stack:
1: aload 1
ldc "LC_ALL"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 8
goto 15
StackMap locals:
StackMap stack:
2: aload 1
ldc "LC_NUMERIC"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
goto 15
StackMap locals:
StackMap stack:
3: aload 1
ldc "LC_TIME"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 13
goto 15
StackMap locals:
StackMap stack:
4: aload 1
ldc "LC_MESSAGES"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 14
goto 15
StackMap locals:
StackMap stack:
5: aload 1
ldc "LC_MONETARY"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 11
goto 15
StackMap locals:
StackMap stack:
6: aload 1
ldc "LC_COLLATE"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 9
goto 15
StackMap locals:
StackMap stack:
7: aload 1
ldc "LC_CTYPE"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
goto 15
8: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.posix.headers.Locale.LC_ALL:()I
ireturn
9: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.posix.headers.Locale.LC_COLLATE:()I
ireturn
10: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.posix.headers.Locale.LC_CTYPE:()I
ireturn
11: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.posix.headers.Locale.LC_MONETARY:()I
ireturn
12: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.posix.headers.Locale.LC_NUMERIC:()I
ireturn
13: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.posix.headers.Locale.LC_TIME:()I
ireturn
14: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.posix.headers.Locale.LC_MESSAGES:()I
ireturn
15: StackMap locals:
StackMap stack:
ldc Lorg/graalvm/nativeimage/Platform$LINUX;
invokestatic org.graalvm.nativeimage.Platform.includedIn:(Ljava/lang/Class;)Z
ifeq 29
ldc Lcom/oracle/svm/core/c/libc/LibCBase;
invokestatic org.graalvm.nativeimage.ImageSingletons.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.svm.core.c.libc.LibCBase
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc Lcom/oracle/svm/core/posix/linux/libc/GLibC;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 29
16: aload 0
dup
astore 2
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 6
-1130389732: 17
-961974004: 18
-360083914: 19
739079251: 20
1438470308: 21
1767202004: 22
default: 29
}
StackMap locals: java.lang.String top java.lang.String
StackMap stack:
17: aload 2
ldc "LC_TELEPHONE"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 26
goto 29
StackMap locals:
StackMap stack:
18: aload 2
ldc "LC_ADDRESS"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 25
goto 29
StackMap locals:
StackMap stack:
19: aload 2
ldc "LC_IDENTIFICATION"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 28
goto 29
StackMap locals:
StackMap stack:
20: aload 2
ldc "LC_NAME"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 24
goto 29
StackMap locals:
StackMap stack:
21: aload 2
ldc "LC_PAPER"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 23
goto 29
StackMap locals:
StackMap stack:
22: aload 2
ldc "LC_MEASUREMENT"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 27
goto 29
23: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.posix.headers.Locale.LC_PAPER:()I
ireturn
24: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.posix.headers.Locale.LC_NAME:()I
ireturn
25: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.posix.headers.Locale.LC_ADDRESS:()I
ireturn
26: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.posix.headers.Locale.LC_TELEPHONE:()I
ireturn
27: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.posix.headers.Locale.LC_MEASUREMENT:()I
ireturn
28: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.posix.headers.Locale.LC_IDENTIFICATION:()I
ireturn
29: StackMap locals: java.lang.String
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Unknown locale category: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 category Ljava/lang/String;
MethodParameters:
Name Flags
category
public static int getFD(java.io.FileDescriptor);
descriptor: (Ljava/io/FileDescriptor;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc Lcom/oracle/svm/core/posix/PosixUtils$Target_java_io_FileDescriptor;
invokestatic com.oracle.svm.core.SubstrateUtil.cast:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.svm.core.posix.PosixUtils$Target_java_io_FileDescriptor
getfield com.oracle.svm.core.posix.PosixUtils$Target_java_io_FileDescriptor.fd:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 descriptor Ljava/io/FileDescriptor;
MethodParameters:
Name Flags
descriptor
public static void setFD(java.io.FileDescriptor, int);
descriptor: (Ljava/io/FileDescriptor;I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc Lcom/oracle/svm/core/posix/PosixUtils$Target_java_io_FileDescriptor;
invokestatic com.oracle.svm.core.SubstrateUtil.cast:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.svm.core.posix.PosixUtils$Target_java_io_FileDescriptor
iload 1
putfield com.oracle.svm.core.posix.PosixUtils$Target_java_io_FileDescriptor.fd:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 descriptor Ljava/io/FileDescriptor;
0 2 1 fd I
MethodParameters:
Name Flags
descriptor
fd
public static java.lang.String lastErrorString(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: invokestatic com.oracle.svm.core.CErrorNumber.getCErrorNumber:()I
istore 1
start local 1 1: iload 1
aload 0
invokestatic com.oracle.svm.core.posix.PosixUtils.errorString:(ILjava/lang/String;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 defaultMsg Ljava/lang/String;
1 2 1 errno I
MethodParameters:
Name Flags
defaultMsg
public static java.io.IOException newIOExceptionWithLastError(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/io/IOException;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.io.IOException
dup
aload 0
invokestatic com.oracle.svm.core.posix.PosixUtils.lastErrorString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 defaultMsg Ljava/lang/String;
MethodParameters:
Name Flags
defaultMsg
public static java.lang.String errorString(int, java.lang.String);
descriptor: (ILjava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: ldc ""
astore 2
start local 2 1: iload 0
ifeq 3
2: iload 0
invokestatic com.oracle.svm.core.posix.headers.Errno.strerror:(I)Lorg/graalvm/nativeimage/c/type/CCharPointer;
invokestatic org.graalvm.nativeimage.c.type.CTypeConversion.toJavaString:(Lorg/graalvm/nativeimage/c/type/CCharPointer;)Ljava/lang/String;
astore 2
3: StackMap locals: java.lang.String
StackMap stack:
aload 2
invokevirtual java.lang.String.length:()I
ifeq 4
aload 2
goto 5
StackMap locals:
StackMap stack:
4: aload 1
StackMap locals:
StackMap stack: java.lang.String
5: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 errno I
0 6 1 defaultMsg Ljava/lang/String;
1 6 2 result Ljava/lang/String;
MethodParameters:
Name Flags
errno
defaultMsg
public static int getpid();
descriptor: ()I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic com.oracle.svm.core.posix.headers.Unistd.getpid:()I
ireturn
LocalVariableTable:
Start End Slot Name Signature
public static int getpid(java.lang.Process);
descriptor: (Ljava/lang/Process;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
ldc Lcom/oracle/svm/core/posix/PosixUtils$Target_java_lang_UNIXProcess;
invokestatic com.oracle.svm.core.SubstrateUtil.cast:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.svm.core.posix.PosixUtils$Target_java_lang_UNIXProcess
astore 1
start local 1 1: aload 1
getfield com.oracle.svm.core.posix.PosixUtils$Target_java_lang_UNIXProcess.pid:I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 process Ljava/lang/Process;
1 2 1 instance Lcom/oracle/svm/core/posix/PosixUtils$Target_java_lang_UNIXProcess;
MethodParameters:
Name Flags
process
public static int waitForProcessExit(int);
descriptor: (I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: ldc Lorg/graalvm/nativeimage/c/type/CIntPointer;
invokestatic org.graalvm.nativeimage.StackValue.get:(Ljava/lang/Class;)Lorg/graalvm/word/PointerBase;
checkcast org.graalvm.nativeimage.c.type.CIntPointer
astore 1
start local 1 1: iload 0
aload 1
iconst_0
invokestatic com.oracle.svm.core.posix.headers.Wait.waitpid:(ILorg/graalvm/nativeimage/c/type/CIntPointer;I)I
ifge 7
2: invokestatic com.oracle.svm.core.CErrorNumber.getCErrorNumber:()I
invokestatic com.oracle.svm.core.posix.headers.Errno.ECHILD:()I
if_icmpne 4
3: iconst_0
ireturn
4: StackMap locals: org.graalvm.nativeimage.c.type.CIntPointer
StackMap stack:
invokestatic com.oracle.svm.core.CErrorNumber.getCErrorNumber:()I
invokestatic com.oracle.svm.core.posix.headers.Errno.EINTR:()I
if_icmpne 6
5: goto 7
6: StackMap locals:
StackMap stack:
iconst_m1
ireturn
7: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.graalvm.nativeimage.c.type.CIntPointer.read:()I
istore 2
start local 2 8: iload 2
invokestatic com.oracle.svm.core.posix.headers.Wait.WIFEXITED:(I)Z
ifeq 10
9: iload 2
invokestatic com.oracle.svm.core.posix.headers.Wait.WEXITSTATUS:(I)I
ireturn
10: StackMap locals: int
StackMap stack:
iload 2
invokestatic com.oracle.svm.core.posix.headers.Wait.WIFSIGNALED:(I)Z
ifeq 12
11: sipush 128
iload 2
invokestatic com.oracle.svm.core.posix.headers.Wait.WTERMSIG:(I)I
iadd
ireturn
12: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 ppid I
1 13 1 statusptr Lorg/graalvm/nativeimage/c/type/CIntPointer;
8 13 2 status I
MethodParameters:
Name Flags
ppid
public static boolean writeBytes(java.io.FileDescriptor, org.graalvm.nativeimage.c.type.CCharPointer, org.graalvm.word.UnsignedWord);
descriptor: (Ljava/io/FileDescriptor;Lorg/graalvm/nativeimage/c/type/CCharPointer;Lorg/graalvm/word/UnsignedWord;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
astore 3
start local 3 1: aload 2
astore 4
start local 4 2: goto 11
3: StackMap locals: org.graalvm.nativeimage.c.type.CCharPointer org.graalvm.word.UnsignedWord
StackMap stack:
aload 0
invokestatic com.oracle.svm.core.posix.PosixUtils.getFD:(Ljava/io/FileDescriptor;)I
istore 5
start local 5 4: iload 5
iconst_m1
if_icmpne 6
5: iconst_0
ireturn
6: StackMap locals: int
StackMap stack:
iload 5
aload 3
aload 4
invokestatic com.oracle.svm.core.posix.headers.Unistd.write:(ILorg/graalvm/word/PointerBase;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/SignedWord;
astore 6
start local 6 7: aload 6
iconst_m1
invokeinterface org.graalvm.word.SignedWord.equal:(I)Z
ifeq 9
8: iconst_0
ireturn
9: StackMap locals: org.graalvm.word.SignedWord
StackMap stack:
aload 3
aload 6
invokeinterface org.graalvm.nativeimage.c.type.CCharPointer.addressOf:(Lorg/graalvm/word/SignedWord;)Lorg/graalvm/nativeimage/c/type/CCharPointer;
astore 3
10: aload 4
aload 6
checkcast org.graalvm.word.UnsignedWord
invokeinterface org.graalvm.word.UnsignedWord.subtract:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
astore 4
end local 6 end local 5 11: StackMap locals:
StackMap stack:
aload 4
iconst_0
invokeinterface org.graalvm.word.UnsignedWord.notEqual:(I)Z
ifne 3
12: iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 descriptor Ljava/io/FileDescriptor;
0 13 1 bytes Lorg/graalvm/nativeimage/c/type/CCharPointer;
0 13 2 length Lorg/graalvm/word/UnsignedWord;
1 13 3 curBuf Lorg/graalvm/nativeimage/c/type/CCharPointer;
2 13 4 curLen Lorg/graalvm/word/UnsignedWord;
4 11 5 fd I
7 11 6 n Lorg/graalvm/word/SignedWord;
MethodParameters:
Name Flags
descriptor
bytes
length
public static boolean flush(java.io.FileDescriptor);
descriptor: (Ljava/io/FileDescriptor;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.svm.core.posix.PosixUtils.getFD:(Ljava/io/FileDescriptor;)I
istore 1
start local 1 1: iload 1
invokestatic com.oracle.svm.core.posix.headers.Unistd.fsync:(I)I
ifne 2
iconst_1
ireturn
StackMap locals: int
StackMap stack:
2: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 descriptor Ljava/io/FileDescriptor;
1 3 1 fd I
MethodParameters:
Name Flags
descriptor
public static org.graalvm.word.PointerBase dlopen(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Lorg/graalvm/word/PointerBase;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
aconst_null
astore 3
1: aload 0
invokestatic org.graalvm.nativeimage.c.type.CTypeConversion.toCString:(Ljava/lang/CharSequence;)Lorg/graalvm/nativeimage/c/type/CTypeConversion$CCharPointerHolder;
astore 4
start local 4 2: aload 4
invokeinterface org.graalvm.nativeimage.c.type.CTypeConversion$CCharPointerHolder.get:()Lorg/graalvm/nativeimage/c/type/CCharPointer;
astore 5
start local 5 3: aload 5
iload 1
invokestatic com.oracle.svm.core.posix.headers.Dlfcn.dlopen:(Lorg/graalvm/nativeimage/c/type/CCharPointer;I)Lorg/graalvm/word/PointerBase;
4: aload 4
ifnull 5
aload 4
invokeinterface org.graalvm.nativeimage.c.type.CTypeConversion$CCharPointerHolder.close:()V
5: StackMap locals: java.lang.String int java.lang.Throwable java.lang.Throwable org.graalvm.nativeimage.c.type.CTypeConversion$CCharPointerHolder org.graalvm.nativeimage.c.type.CCharPointer
StackMap stack: org.graalvm.word.PointerBase
areturn
end local 5 StackMap locals: java.lang.String int java.lang.Throwable java.lang.Throwable org.graalvm.nativeimage.c.type.CTypeConversion$CCharPointerHolder
StackMap stack: java.lang.Throwable
6: astore 2
7: aload 4
ifnull 8
aload 4
invokeinterface org.graalvm.nativeimage.c.type.CTypeConversion$CCharPointerHolder.close:()V
end local 4 StackMap locals:
StackMap stack:
8: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
9: astore 3
aload 2
ifnonnull 10
aload 3
astore 2
goto 11
StackMap locals:
StackMap stack:
10: aload 2
aload 3
if_acmpeq 11
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
11: aload 2
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 file Ljava/lang/String;
0 12 1 mode I
2 8 4 pathPin Lorg/graalvm/nativeimage/c/type/CTypeConversion$CCharPointerHolder;
3 6 5 pathPtr Lorg/graalvm/nativeimage/c/type/CCharPointer;
Exception table:
from to target type
2 4 6 any
1 5 9 any
6 9 9 any
MethodParameters:
Name Flags
file
mode
public static <T extends org.graalvm.word.PointerBase> T dlsym(org.graalvm.word.PointerBase, java.lang.String);
descriptor: (Lorg/graalvm/word/PointerBase;Ljava/lang/String;)Lorg/graalvm/word/PointerBase;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
aconst_null
astore 3
1: aload 1
invokestatic org.graalvm.nativeimage.c.type.CTypeConversion.toCString:(Ljava/lang/CharSequence;)Lorg/graalvm/nativeimage/c/type/CTypeConversion$CCharPointerHolder;
astore 4
start local 4 2: aload 4
invokeinterface org.graalvm.nativeimage.c.type.CTypeConversion$CCharPointerHolder.get:()Lorg/graalvm/nativeimage/c/type/CCharPointer;
astore 5
start local 5 3: aload 0
aload 5
invokestatic com.oracle.svm.core.posix.headers.Dlfcn.dlsym:(Lorg/graalvm/word/PointerBase;Lorg/graalvm/nativeimage/c/type/CCharPointer;)Lorg/graalvm/word/PointerBase;
4: aload 4
ifnull 5
aload 4
invokeinterface org.graalvm.nativeimage.c.type.CTypeConversion$CCharPointerHolder.close:()V
5: StackMap locals: org.graalvm.word.PointerBase java.lang.String java.lang.Throwable java.lang.Throwable org.graalvm.nativeimage.c.type.CTypeConversion$CCharPointerHolder org.graalvm.nativeimage.c.type.CCharPointer
StackMap stack: org.graalvm.word.PointerBase
areturn
end local 5 StackMap locals: org.graalvm.word.PointerBase java.lang.String java.lang.Throwable java.lang.Throwable org.graalvm.nativeimage.c.type.CTypeConversion$CCharPointerHolder
StackMap stack: java.lang.Throwable
6: astore 2
7: aload 4
ifnull 8
aload 4
invokeinterface org.graalvm.nativeimage.c.type.CTypeConversion$CCharPointerHolder.close:()V
end local 4 StackMap locals:
StackMap stack:
8: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
9: astore 3
aload 2
ifnonnull 10
aload 3
astore 2
goto 11
StackMap locals:
StackMap stack:
10: aload 2
aload 3
if_acmpeq 11
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
11: aload 2
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 handle Lorg/graalvm/word/PointerBase;
0 12 1 name Ljava/lang/String;
2 8 4 namePin Lorg/graalvm/nativeimage/c/type/CTypeConversion$CCharPointerHolder;
3 6 5 namePtr Lorg/graalvm/nativeimage/c/type/CCharPointer;
Exception table:
from to target type
2 4 6 any
1 5 9 any
6 9 9 any
Signature: <T::Lorg/graalvm/word/PointerBase;>(Lorg/graalvm/word/PointerBase;Ljava/lang/String;)TT;
MethodParameters:
Name Flags
handle
name
public static java.lang.String dlerror();
descriptor: ()Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic com.oracle.svm.core.posix.headers.Dlfcn.dlerror:()Lorg/graalvm/nativeimage/c/type/CCharPointer;
invokestatic org.graalvm.nativeimage.c.type.CTypeConversion.toJavaString:(Lorg/graalvm/nativeimage/c/type/CCharPointer;)Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static void checkStatusIs0(int, java.lang.String);
descriptor: (ILjava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 0
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: aload 1
invokestatic com.oracle.svm.core.util.VMError.guarantee:(ZLjava/lang/String;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 status I
0 4 1 message Ljava/lang/String;
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
MethodParameters:
Name Flags
status
message
public static boolean readEntirely(int, org.graalvm.nativeimage.c.type.CCharPointer, int);
descriptor: (ILorg/graalvm/nativeimage/c/type/CCharPointer;I)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: StackMap locals: int
StackMap stack:
iload 0
aload 1
iload 2
iconst_1
isub
iload 3
invokestatic com.oracle.svm.core.posix.PosixUtils.readBytes:(ILorg/graalvm/nativeimage/c/type/CCharPointer;II)I
istore 4
start local 4 2: iload 4
ifge 4
3: iconst_0
ireturn
4: StackMap locals: int
StackMap stack:
iload 3
iload 4
iadd
istore 3
5: iload 4
ifne 1
6: aload 1
iload 3
iconst_0
invokeinterface org.graalvm.nativeimage.c.type.CCharPointer.write:(IB)V
7: iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 fd I
0 8 1 buffer Lorg/graalvm/nativeimage/c/type/CCharPointer;
0 8 2 bufferLen I
1 8 3 bufferOffset I
2 8 4 readBytes I
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
MethodParameters:
Name Flags
fd
buffer
bufferLen
public static int readBytes(int, org.graalvm.nativeimage.c.type.CCharPointer, int, int);
descriptor: (ILorg/graalvm/nativeimage/c/type/CCharPointer;II)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_m1
istore 4
start local 4 1: iload 3
iload 2
if_icmpge 4
2: StackMap locals: int
StackMap stack:
iload 0
aload 1
iload 3
invokeinterface org.graalvm.nativeimage.c.type.CCharPointer.addressOf:(I)Lorg/graalvm/nativeimage/c/type/CCharPointer;
iload 2
iload 3
isub
invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
invokestatic com.oracle.svm.core.posix.headers.Unistd$NoTransitions.read:(ILorg/graalvm/word/PointerBase;Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/SignedWord;
invokeinterface org.graalvm.word.SignedWord.rawValue:()J
l2i
istore 4
3: iload 4
iconst_m1
if_icmpne 4
invokestatic com.oracle.svm.core.CErrorNumber.getCErrorNumber:()I
invokestatic com.oracle.svm.core.posix.headers.Errno.EINTR:()I
if_icmpeq 2
4: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 fd I
0 5 1 buffer Lorg/graalvm/nativeimage/c/type/CCharPointer;
0 5 2 bufferLen I
0 5 3 readOffset I
1 5 4 readBytes I
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
MethodParameters:
Name Flags
fd
buffer
bufferLen
readOffset
}
SourceFile: "PosixUtils.java"
NestMembers:
com.oracle.svm.core.posix.PosixUtils$ProcessNameProvider com.oracle.svm.core.posix.PosixUtils$Target_java_io_FileDescriptor com.oracle.svm.core.posix.PosixUtils$Target_java_lang_UNIXProcess
InnerClasses:
private final ProcessNameProvider = com.oracle.svm.core.posix.PosixUtils$ProcessNameProvider of com.oracle.svm.core.posix.PosixUtils
private final Target_java_io_FileDescriptor = com.oracle.svm.core.posix.PosixUtils$Target_java_io_FileDescriptor of com.oracle.svm.core.posix.PosixUtils
private final Target_java_lang_UNIXProcess = com.oracle.svm.core.posix.PosixUtils$Target_java_lang_UNIXProcess of com.oracle.svm.core.posix.PosixUtils
public NoTransitions = com.oracle.svm.core.posix.headers.Unistd$NoTransitions of com.oracle.svm.core.posix.headers.Unistd
public abstract LINUX = org.graalvm.nativeimage.Platform$LINUX of org.graalvm.nativeimage.Platform
public abstract CCharPointerHolder = org.graalvm.nativeimage.c.type.CTypeConversion$CCharPointerHolder of org.graalvm.nativeimage.c.type.CTypeConversion