public class com.oracle.svm.core.windows.WindowsUtils
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.svm.core.windows.WindowsUtils
super_class: java.lang.Object
{
private static long performanceFrequency;
descriptor: J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
public static final long NANOSECS_PER_SEC;
descriptor: J
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1000000000
public static final int NANOSECS_PER_MILLISEC;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1000000
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: lconst_0
putstatic com.oracle.svm.core.windows.WindowsUtils.performanceFrequency:J
1: 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/svm/core/windows/WindowsUtils;
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/windows/WindowsUtils$Target_java_lang_ProcessImpl;
invokestatic com.oracle.svm.core.SubstrateUtil.cast:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.svm.core.windows.WindowsUtils$Target_java_lang_ProcessImpl
astore 1
start local 1 1: aload 1
getfield com.oracle.svm.core.windows.WindowsUtils$Target_java_lang_ProcessImpl.handle:J
invokestatic org.graalvm.word.WordFactory.pointer:(J)Lorg/graalvm/word/PointerBase;
checkcast com.oracle.svm.core.windows.headers.WinBase$HANDLE
invokestatic com.oracle.svm.core.windows.headers.Process.GetProcessId:(Lcom/oracle/svm/core/windows/headers/WinBase$HANDLE;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 process Ljava/lang/Process;
1 2 1 processImpl Lcom/oracle/svm/core/windows/WindowsUtils$Target_java_lang_ProcessImpl;
MethodParameters:
Name Flags
process
static void setHandle(java.io.FileDescriptor, long);
descriptor: (Ljava/io/FileDescriptor;J)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ldc Lcom/oracle/svm/core/windows/WindowsUtils$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.windows.WindowsUtils$Target_java_io_FileDescriptor
lload 1
putfield com.oracle.svm.core.windows.WindowsUtils$Target_java_io_FileDescriptor.handle:J
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 descriptor Ljava/io/FileDescriptor;
0 2 1 handle J
MethodParameters:
Name Flags
descriptor
handle
static boolean outOfBounds(int, int, byte[]);
descriptor: (II[B)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 0
iflt 1
iload 1
iflt 1
aload 2
arraylength
iload 0
isub
iload 1
if_icmplt 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 off I
0 2 1 len I
0 2 2 array [B
MethodParameters:
Name Flags
off
len
array
public static java.lang.String lastErrorString(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: invokestatic com.oracle.svm.core.windows.headers.WinBase.GetLastError:()I
istore 1
start local 1 1: 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 " GetLastError: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()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 error I
MethodParameters:
Name Flags
defaultMsg
public static boolean writeBytes(int, org.graalvm.nativeimage.c.type.CCharPointer, org.graalvm.word.UnsignedWord);
descriptor: (ILorg/graalvm/nativeimage/c/type/CCharPointer;Lorg/graalvm/word/UnsignedWord;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=8, 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 14
3: StackMap locals: org.graalvm.nativeimage.c.type.CCharPointer org.graalvm.word.UnsignedWord
StackMap stack:
iload 0
iconst_m1
if_icmpne 5
4: iconst_0
ireturn
5: StackMap locals:
StackMap stack:
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 5
start local 5 6: iload 0
aload 3
aload 4
aload 5
invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
invokestatic com.oracle.svm.core.windows.headers.FileAPI.WriteFile:(ILorg/graalvm/nativeimage/c/type/CCharPointer;Lorg/graalvm/word/UnsignedWord;Lorg/graalvm/nativeimage/c/type/CIntPointer;Lorg/graalvm/word/PointerBase;)I
istore 6
start local 6 7: iload 6
ifne 9
8: iconst_0
ireturn
9: StackMap locals: org.graalvm.nativeimage.c.type.CIntPointer int
StackMap stack:
aload 5
invokeinterface org.graalvm.nativeimage.c.type.CIntPointer.read:()I
istore 7
start local 7 10: aload 4
iload 7
invokeinterface org.graalvm.word.UnsignedWord.notEqual:(I)Z
ifeq 12
11: iconst_0
ireturn
12: StackMap locals: int
StackMap stack:
aload 3
iload 7
invokeinterface org.graalvm.nativeimage.c.type.CCharPointer.addressOf:(I)Lorg/graalvm/nativeimage/c/type/CCharPointer;
astore 3
13: aload 4
iload 7
invokeinterface org.graalvm.word.UnsignedWord.subtract:(I)Lorg/graalvm/word/UnsignedWord;
astore 4
end local 7 end local 6 end local 5 14: StackMap locals:
StackMap stack:
aload 4
iconst_0
invokeinterface org.graalvm.word.UnsignedWord.notEqual:(I)Z
ifne 3
15: 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 16 0 handle I
0 16 1 bytes Lorg/graalvm/nativeimage/c/type/CCharPointer;
0 16 2 length Lorg/graalvm/word/UnsignedWord;
1 16 3 curBuf Lorg/graalvm/nativeimage/c/type/CCharPointer;
2 16 4 curLen Lorg/graalvm/word/UnsignedWord;
6 14 5 bytesWritten Lorg/graalvm/nativeimage/c/type/CIntPointer;
7 14 6 ret I
10 14 7 writtenCount I
MethodParameters:
Name Flags
handle
bytes
length
static boolean flush(int);
descriptor: (I)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: iload 0
iconst_m1
if_icmpne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iload 0
invokestatic com.oracle.svm.core.windows.headers.FileAPI.FlushFileBuffers:(I)I
istore 1
start local 1 3: iload 1
ifeq 4
iconst_1
ireturn
StackMap locals: int
StackMap stack:
4: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 handle I
3 5 1 result I
MethodParameters:
Name Flags
handle
static void writeBytes(java.io.FileDescriptor, byte[], int, int, boolean);
descriptor: (Ljava/io/FileDescriptor;[BIIZ)V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=14, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
iload 2
iload 3
aload 1
invokestatic com.oracle.svm.core.windows.WindowsUtils.outOfBounds:(II[B)Z
ifeq 4
3: new java.lang.IndexOutOfBoundsException
dup
invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
iload 3
ifne 6
5: return
6: StackMap locals:
StackMap stack:
aconst_null
astore 5
aconst_null
astore 6
7: aload 1
invokestatic org.graalvm.nativeimage.PinnedObject.create:(Ljava/lang/Object;)Lorg/graalvm/nativeimage/PinnedObject;
astore 7
start local 7 8: aload 7
iload 2
invokeinterface org.graalvm.nativeimage.PinnedObject.addressOfArrayElement:(I)Lorg/graalvm/word/PointerBase;
checkcast org.graalvm.nativeimage.c.type.CCharPointer
astore 8
start local 8 9: iload 3
invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
astore 9
start local 9 10: invokestatic com.oracle.svm.core.windows.headers.FileAPI.STD_ERROR_HANDLE:()I
invokestatic com.oracle.svm.core.windows.headers.FileAPI.GetStdHandle:(I)I
istore 10
start local 10 11: 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 11
start local 11 12: iload 10
aload 8
aload 9
aload 11
invokestatic org.graalvm.word.WordFactory.nullPointer:()Lorg/graalvm/word/PointerBase;
invokestatic com.oracle.svm.core.windows.headers.FileAPI.WriteFile:(ILorg/graalvm/nativeimage/c/type/CCharPointer;Lorg/graalvm/word/UnsignedWord;Lorg/graalvm/nativeimage/c/type/CIntPointer;Lorg/graalvm/word/PointerBase;)I
istore 12
start local 12 13: iload 12
ifne 15
14: new java.io.IOException
dup
ldc "Write error"
invokestatic com.oracle.svm.core.windows.WindowsUtils.lastErrorString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals: java.io.FileDescriptor byte[] int int int java.lang.Throwable java.lang.Throwable org.graalvm.nativeimage.PinnedObject org.graalvm.nativeimage.c.type.CCharPointer org.graalvm.word.UnsignedWord int org.graalvm.nativeimage.c.type.CIntPointer int
StackMap stack:
aload 11
invokeinterface org.graalvm.nativeimage.c.type.CIntPointer.read:()I
istore 13
start local 13 16: aload 9
iload 13
invokeinterface org.graalvm.word.UnsignedWord.notEqual:(I)Z
ifeq 18
17: new java.io.IOException
dup
ldc "Write error"
invokestatic com.oracle.svm.core.windows.WindowsUtils.lastErrorString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 18: StackMap locals: java.io.FileDescriptor byte[] int int int java.lang.Throwable java.lang.Throwable org.graalvm.nativeimage.PinnedObject
StackMap stack:
aload 7
ifnull 24
aload 7
invokeinterface org.graalvm.nativeimage.PinnedObject.close:()V
goto 24
StackMap locals:
StackMap stack: java.lang.Throwable
19: astore 5
aload 7
ifnull 20
aload 7
invokeinterface org.graalvm.nativeimage.PinnedObject.close:()V
end local 7 StackMap locals:
StackMap stack:
20: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
21: astore 6
aload 5
ifnonnull 22
aload 6
astore 5
goto 23
StackMap locals:
StackMap stack:
22: aload 5
aload 6
if_acmpeq 23
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
23: aload 5
athrow
24: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 descriptor Ljava/io/FileDescriptor;
0 25 1 bytes [B
0 25 2 off I
0 25 3 len I
0 25 4 append Z
8 20 7 bytesPin Lorg/graalvm/nativeimage/PinnedObject;
9 18 8 curBuf Lorg/graalvm/nativeimage/c/type/CCharPointer;
10 18 9 curLen Lorg/graalvm/word/UnsignedWord;
11 18 10 handle I
12 18 11 bytesWritten Lorg/graalvm/nativeimage/c/type/CIntPointer;
13 18 12 ret I
16 18 13 writtenCount I
Exception table:
from to target type
8 18 19 any
7 21 21 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
descriptor
bytes
off
len
append
public static long getNanoCounter();
descriptor: ()J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=0
0: getstatic com.oracle.svm.core.windows.WindowsUtils.performanceFrequency:J
lconst_0
lcmp
ifne 4
1: ldc Lorg/graalvm/nativeimage/c/type/CLongPointer;
invokestatic org.graalvm.nativeimage.StackValue.get:(Ljava/lang/Class;)Lorg/graalvm/word/PointerBase;
checkcast org.graalvm.nativeimage.c.type.CLongPointer
astore 0
start local 0 2: aload 0
invokestatic com.oracle.svm.core.windows.headers.WinBase.QueryPerformanceFrequency:(Lorg/graalvm/nativeimage/c/type/CLongPointer;)V
3: aload 0
invokeinterface org.graalvm.nativeimage.c.type.CLongPointer.read:()J
putstatic com.oracle.svm.core.windows.WindowsUtils.performanceFrequency:J
end local 0 4: StackMap locals:
StackMap stack:
ldc Lorg/graalvm/nativeimage/c/type/CLongPointer;
invokestatic org.graalvm.nativeimage.StackValue.get:(Ljava/lang/Class;)Lorg/graalvm/word/PointerBase;
checkcast org.graalvm.nativeimage.c.type.CLongPointer
astore 0
start local 0 5: aload 0
invokestatic com.oracle.svm.core.windows.headers.WinBase.QueryPerformanceCounter:(Lorg/graalvm/nativeimage/c/type/CLongPointer;)V
6: aload 0
invokeinterface org.graalvm.nativeimage.c.type.CLongPointer.read:()J
l2d
dstore 1
start local 1 7: getstatic com.oracle.svm.core.windows.WindowsUtils.performanceFrequency:J
l2d
dstore 3
start local 3 8: dload 1
dload 3
ddiv
ldc 1.0E9
dmul
d2l
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
2 4 0 count Lorg/graalvm/nativeimage/c/type/CLongPointer;
5 9 0 currentCount Lorg/graalvm/nativeimage/c/type/CLongPointer;
7 9 1 current D
8 9 3 freq D
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
}
SourceFile: "WindowsUtils.java"
NestMembers:
com.oracle.svm.core.windows.WindowsUtils$Target_java_io_FileDescriptor com.oracle.svm.core.windows.WindowsUtils$Target_java_io_FileDescriptor$InvalidHandleValueComputer com.oracle.svm.core.windows.WindowsUtils$Target_java_lang_ProcessImpl
InnerClasses:
private final Target_java_io_FileDescriptor = com.oracle.svm.core.windows.WindowsUtils$Target_java_io_FileDescriptor of com.oracle.svm.core.windows.WindowsUtils
private final Target_java_lang_ProcessImpl = com.oracle.svm.core.windows.WindowsUtils$Target_java_lang_ProcessImpl of com.oracle.svm.core.windows.WindowsUtils
public abstract HANDLE = com.oracle.svm.core.windows.headers.WinBase$HANDLE of com.oracle.svm.core.windows.headers.WinBase
RuntimeVisibleAnnotations:
org.graalvm.nativeimage.Platforms(value = {Lorg/graalvm/nativeimage/Platform$WINDOWS;})