public class android.os.MemoryFile
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.os.MemoryFile
super_class: java.lang.Object
{
private static java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private android.os.SharedMemory mSharedMemory;
descriptor: Landroid/os/SharedMemory;
flags: (0x0002) ACC_PRIVATE
private java.nio.ByteBuffer mMapping;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
private boolean mAllowPurging;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "MemoryFile"
putstatic android.os.MemoryFile.TAG:Ljava/lang/String;
return
LocalVariableTable:
Start End Slot Name Signature
private static native boolean native_pin(java.io.FileDescriptor, boolean);
descriptor: (Ljava/io/FileDescriptor;Z)Z
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fd
pin
private static native int native_get_size(java.io.FileDescriptor);
descriptor: (Ljava/io/FileDescriptor;)I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fd
public void <init>(java.lang.String, int);
descriptor: (Ljava/lang/String;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tThe import android.system cannot be resolved\n\tThe method create(String, int) from the type SharedMemory refers to the missing type ErrnoException\n\tThe method mapReadWrite() from the type SharedMemory refers to the missing type ErrnoException\n\tErrnoException cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/os/MemoryFile;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
name
length
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.os.MemoryFile.deactivate:()V
1: aload 0
getfield android.os.MemoryFile.mSharedMemory:Landroid/os/SharedMemory;
invokevirtual android.os.SharedMemory.close:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/os/MemoryFile;
void deactivate();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.os.MemoryFile.mMapping:Ljava/nio/ByteBuffer;
ifnull 3
1: aload 0
getfield android.os.MemoryFile.mMapping:Ljava/nio/ByteBuffer;
invokestatic android.os.SharedMemory.unmap:(Ljava/nio/ByteBuffer;)V
2: aload 0
aconst_null
putfield android.os.MemoryFile.mMapping:Ljava/nio/ByteBuffer;
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/os/MemoryFile;
private void checkActive();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield android.os.MemoryFile.mMapping:Ljava/nio/ByteBuffer;
ifnonnull 2
1: new java.io.IOException
dup
ldc "MemoryFile has been deactivated"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/os/MemoryFile;
Exceptions:
throws java.io.IOException
private void beginAccess();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.os.MemoryFile.checkActive:()V
1: aload 0
getfield android.os.MemoryFile.mAllowPurging:Z
ifeq 4
2: aload 0
getfield android.os.MemoryFile.mSharedMemory:Landroid/os/SharedMemory;
invokevirtual android.os.SharedMemory.getFileDescriptor:()Ljava/io/FileDescriptor;
iconst_1
invokestatic android.os.MemoryFile.native_pin:(Ljava/io/FileDescriptor;Z)Z
ifeq 4
3: new java.io.IOException
dup
ldc "MemoryFile has been purged"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/os/MemoryFile;
Exceptions:
throws java.io.IOException
private void endAccess();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.os.MemoryFile.mAllowPurging:Z
ifeq 2
1: aload 0
getfield android.os.MemoryFile.mSharedMemory:Landroid/os/SharedMemory;
invokevirtual android.os.SharedMemory.getFileDescriptor:()Ljava/io/FileDescriptor;
iconst_0
invokestatic android.os.MemoryFile.native_pin:(Ljava/io/FileDescriptor;Z)Z
pop
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/os/MemoryFile;
Exceptions:
throws java.io.IOException
public int length();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.os.MemoryFile.mSharedMemory:Landroid/os/SharedMemory;
invokevirtual android.os.SharedMemory.getSize:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/os/MemoryFile;
public boolean isPurgingAllowed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.os.MemoryFile.mAllowPurging:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/os/MemoryFile;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public synchronized boolean allowPurging(boolean);
descriptor: (Z)Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield android.os.MemoryFile.mAllowPurging:Z
istore 2
start local 2 1: iload 2
iload 1
if_icmpeq 6
2: aload 0
getfield android.os.MemoryFile.mSharedMemory:Landroid/os/SharedMemory;
invokevirtual android.os.SharedMemory.getFileDescriptor:()Ljava/io/FileDescriptor;
iload 1
ifeq 3
iconst_0
goto 4
StackMap locals: android.os.MemoryFile int int
StackMap stack: java.io.FileDescriptor
3: iconst_1
StackMap locals: android.os.MemoryFile int int
StackMap stack: java.io.FileDescriptor int
4: invokestatic android.os.MemoryFile.native_pin:(Ljava/io/FileDescriptor;Z)Z
pop
5: aload 0
iload 1
putfield android.os.MemoryFile.mAllowPurging:Z
6: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/os/MemoryFile;
0 7 1 allowPurging Z
1 7 2 oldValue Z
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
allowPurging
public java.io.InputStream getInputStream();
descriptor: ()Ljava/io/InputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new android.os.MemoryFile$MemoryInputStream
dup
aload 0
invokespecial android.os.MemoryFile$MemoryInputStream.<init>:(Landroid/os/MemoryFile;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/os/MemoryFile;
public java.io.OutputStream getOutputStream();
descriptor: ()Ljava/io/OutputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new android.os.MemoryFile$MemoryOutputStream
dup
aload 0
invokespecial android.os.MemoryFile$MemoryOutputStream.<init>:(Landroid/os/MemoryFile;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/os/MemoryFile;
public int readBytes(byte[], int, int, int);
descriptor: ([BIII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual android.os.MemoryFile.beginAccess:()V
1: aload 0
getfield android.os.MemoryFile.mMapping:Ljava/nio/ByteBuffer;
iload 2
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
2: aload 0
getfield android.os.MemoryFile.mMapping:Ljava/nio/ByteBuffer;
aload 1
iload 3
iload 4
invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
pop
3: goto 7
StackMap locals:
StackMap stack: java.lang.Throwable
4: astore 5
5: aload 0
invokevirtual android.os.MemoryFile.endAccess:()V
6: aload 5
athrow
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.os.MemoryFile.endAccess:()V
8: 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 9 0 this Landroid/os/MemoryFile;
0 9 1 buffer [B
0 9 2 srcOffset I
0 9 3 destOffset I
0 9 4 count I
Exception table:
from to target type
1 4 4 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buffer
srcOffset
destOffset
count
public void writeBytes(byte[], int, int, int);
descriptor: ([BIII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual android.os.MemoryFile.beginAccess:()V
1: aload 0
getfield android.os.MemoryFile.mMapping:Ljava/nio/ByteBuffer;
iload 3
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
2: aload 0
getfield android.os.MemoryFile.mMapping:Ljava/nio/ByteBuffer;
aload 1
iload 2
iload 4
invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
pop
3: goto 7
StackMap locals:
StackMap stack: java.lang.Throwable
4: astore 5
5: aload 0
invokevirtual android.os.MemoryFile.endAccess:()V
6: aload 5
athrow
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.os.MemoryFile.endAccess:()V
8: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/os/MemoryFile;
0 9 1 buffer [B
0 9 2 srcOffset I
0 9 3 destOffset I
0 9 4 count I
Exception table:
from to target type
1 4 4 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buffer
srcOffset
destOffset
count
public java.io.FileDescriptor getFileDescriptor();
descriptor: ()Ljava/io/FileDescriptor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.os.MemoryFile.mSharedMemory:Landroid/os/SharedMemory;
invokevirtual android.os.SharedMemory.getFileDescriptor:()Ljava/io/FileDescriptor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/os/MemoryFile;
Exceptions:
throws java.io.IOException
public static int getSize(java.io.FileDescriptor);
descriptor: (Ljava/io/FileDescriptor;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic android.os.MemoryFile.native_get_size:(Ljava/io/FileDescriptor;)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 fd Ljava/io/FileDescriptor;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fd
}
SourceFile: "MemoryFile.java"
NestMembers:
android.os.MemoryFile$MemoryInputStream android.os.MemoryFile$MemoryOutputStream
InnerClasses:
private MemoryInputStream = android.os.MemoryFile$MemoryInputStream of android.os.MemoryFile
private MemoryOutputStream = android.os.MemoryFile$MemoryOutputStream of android.os.MemoryFile