class android.renderscript.RenderScript$MessageThread extends java.lang.Thread
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: android.renderscript.RenderScript$MessageThread
super_class: java.lang.Thread
{
android.renderscript.RenderScript mRS;
descriptor: Landroid/renderscript/RenderScript;
flags: (0x0000)
boolean mRun;
descriptor: Z
flags: (0x0000)
int[] mAuxData;
descriptor: [I
flags: (0x0000)
static final int RS_MESSAGE_TO_CLIENT_NONE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final int RS_MESSAGE_TO_CLIENT_EXCEPTION;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final int RS_MESSAGE_TO_CLIENT_RESIZE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2
static final int RS_MESSAGE_TO_CLIENT_ERROR;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 3
static final int RS_MESSAGE_TO_CLIENT_USER;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4
static final int RS_MESSAGE_TO_CLIENT_NEW_BUFFER;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 5
static final int RS_ERROR_FATAL_DEBUG;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2048
static final int RS_ERROR_FATAL_UNKNOWN;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4096
void <init>(android.renderscript.RenderScript);
descriptor: (Landroid/renderscript/RenderScript;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "RSMessageThread"
invokespecial java.lang.Thread.<init>:(Ljava/lang/String;)V
1: aload 0
iconst_1
putfield android.renderscript.RenderScript$MessageThread.mRun:Z
2: aload 0
iconst_2
newarray 10
putfield android.renderscript.RenderScript$MessageThread.mAuxData:[I
3: aload 0
aload 1
putfield android.renderscript.RenderScript$MessageThread.mRS:Landroid/renderscript/RenderScript;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/renderscript/RenderScript$MessageThread;
0 5 1 rs Landroid/renderscript/RenderScript;
MethodParameters:
Name Flags
rs
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=1
start local 0 0: bipush 16
newarray 10
astore 1
start local 1 1: aload 0
getfield android.renderscript.RenderScript$MessageThread.mRS:Landroid/renderscript/RenderScript;
aload 0
getfield android.renderscript.RenderScript$MessageThread.mRS:Landroid/renderscript/RenderScript;
getfield android.renderscript.RenderScript.mContext:J
invokevirtual android.renderscript.RenderScript.nContextInitToClient:(J)V
2: goto 46
3: StackMap locals: int[]
StackMap stack:
aload 1
iconst_0
iconst_0
iastore
4: aload 0
getfield android.renderscript.RenderScript$MessageThread.mRS:Landroid/renderscript/RenderScript;
aload 0
getfield android.renderscript.RenderScript$MessageThread.mRS:Landroid/renderscript/RenderScript;
getfield android.renderscript.RenderScript.mContext:J
aload 0
getfield android.renderscript.RenderScript$MessageThread.mAuxData:[I
invokevirtual android.renderscript.RenderScript.nContextPeekMessage:(J[I)I
istore 2
start local 2 5: aload 0
getfield android.renderscript.RenderScript$MessageThread.mAuxData:[I
iconst_1
iaload
istore 3
start local 3 6: aload 0
getfield android.renderscript.RenderScript$MessageThread.mAuxData:[I
iconst_0
iaload
istore 4
start local 4 7: iload 2
iconst_4
if_icmpne 21
8: iload 3
iconst_2
ishr
aload 1
arraylength
if_icmplt 10
9: iload 3
iconst_3
iadd
iconst_2
ishr
newarray 10
astore 1
10: StackMap locals: int int int
StackMap stack:
aload 0
getfield android.renderscript.RenderScript$MessageThread.mRS:Landroid/renderscript/RenderScript;
aload 0
getfield android.renderscript.RenderScript$MessageThread.mRS:Landroid/renderscript/RenderScript;
getfield android.renderscript.RenderScript.mContext:J
aload 1
invokevirtual android.renderscript.RenderScript.nContextGetUserMessage:(J[I)I
11: iconst_4
12: if_icmpeq 14
13: new android.renderscript.RSDriverException
dup
ldc "Error processing message from RenderScript."
invokespecial android.renderscript.RSDriverException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 0
getfield android.renderscript.RenderScript$MessageThread.mRS:Landroid/renderscript/RenderScript;
getfield android.renderscript.RenderScript.mMessageCallback:Landroid/renderscript/RenderScript$RSMessageHandler;
ifnull 20
15: aload 0
getfield android.renderscript.RenderScript$MessageThread.mRS:Landroid/renderscript/RenderScript;
getfield android.renderscript.RenderScript.mMessageCallback:Landroid/renderscript/RenderScript$RSMessageHandler;
aload 1
putfield android.renderscript.RenderScript$RSMessageHandler.mData:[I
16: aload 0
getfield android.renderscript.RenderScript$MessageThread.mRS:Landroid/renderscript/RenderScript;
getfield android.renderscript.RenderScript.mMessageCallback:Landroid/renderscript/RenderScript$RSMessageHandler;
iload 4
putfield android.renderscript.RenderScript$RSMessageHandler.mID:I
17: aload 0
getfield android.renderscript.RenderScript$MessageThread.mRS:Landroid/renderscript/RenderScript;
getfield android.renderscript.RenderScript.mMessageCallback:Landroid/renderscript/RenderScript$RSMessageHandler;
iload 3
putfield android.renderscript.RenderScript$RSMessageHandler.mLength:I
18: aload 0
getfield android.renderscript.RenderScript$MessageThread.mRS:Landroid/renderscript/RenderScript;
getfield android.renderscript.RenderScript.mMessageCallback:Landroid/renderscript/RenderScript$RSMessageHandler;
invokevirtual android.renderscript.RenderScript$RSMessageHandler.run:()V
19: goto 46
20: StackMap locals:
StackMap stack:
new android.renderscript.RSInvalidStateException
dup
ldc "Received a message from the script with no message handler installed."
invokespecial android.renderscript.RSInvalidStateException.<init>:(Ljava/lang/String;)V
athrow
21: StackMap locals:
StackMap stack:
iload 2
iconst_3
if_icmpne 35
22: aload 0
getfield android.renderscript.RenderScript$MessageThread.mRS:Landroid/renderscript/RenderScript;
aload 0
getfield android.renderscript.RenderScript$MessageThread.mRS:Landroid/renderscript/RenderScript;
getfield android.renderscript.RenderScript.mContext:J
invokevirtual android.renderscript.RenderScript.nContextGetErrorMessage:(J)Ljava/lang/String;
astore 5
start local 5 23: iload 4
sipush 4096
if_icmpge 27
24: iload 4
sipush 2048
if_icmplt 28
25: aload 0
getfield android.renderscript.RenderScript$MessageThread.mRS:Landroid/renderscript/RenderScript;
getfield android.renderscript.RenderScript.mContextType:Landroid/renderscript/RenderScript$ContextType;
getstatic android.renderscript.RenderScript$ContextType.DEBUG:Landroid/renderscript/RenderScript$ContextType;
if_acmpne 27
26: aload 0
getfield android.renderscript.RenderScript$MessageThread.mRS:Landroid/renderscript/RenderScript;
getfield android.renderscript.RenderScript.mErrorCallback:Landroid/renderscript/RenderScript$RSErrorHandler;
ifnonnull 28
27: StackMap locals: java.lang.String
StackMap stack:
new android.renderscript.RSRuntimeException
dup
new java.lang.StringBuilder
dup
ldc "Fatal error "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", details: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial android.renderscript.RSRuntimeException.<init>:(Ljava/lang/String;)V
athrow
28: StackMap locals:
StackMap stack:
aload 0
getfield android.renderscript.RenderScript$MessageThread.mRS:Landroid/renderscript/RenderScript;
getfield android.renderscript.RenderScript.mErrorCallback:Landroid/renderscript/RenderScript$RSErrorHandler;
ifnull 33
29: aload 0
getfield android.renderscript.RenderScript$MessageThread.mRS:Landroid/renderscript/RenderScript;
getfield android.renderscript.RenderScript.mErrorCallback:Landroid/renderscript/RenderScript$RSErrorHandler;
aload 5
putfield android.renderscript.RenderScript$RSErrorHandler.mErrorMessage:Ljava/lang/String;
30: aload 0
getfield android.renderscript.RenderScript$MessageThread.mRS:Landroid/renderscript/RenderScript;
getfield android.renderscript.RenderScript.mErrorCallback:Landroid/renderscript/RenderScript$RSErrorHandler;
iload 4
putfield android.renderscript.RenderScript$RSErrorHandler.mErrorNum:I
31: aload 0
getfield android.renderscript.RenderScript$MessageThread.mRS:Landroid/renderscript/RenderScript;
getfield android.renderscript.RenderScript.mErrorCallback:Landroid/renderscript/RenderScript$RSErrorHandler;
invokevirtual android.renderscript.RenderScript$RSErrorHandler.run:()V
32: goto 46
33: StackMap locals:
StackMap stack:
ldc "RenderScript_jni"
new java.lang.StringBuilder
dup
ldc "non fatal RS error, "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
34: goto 46
end local 5 35: StackMap locals:
StackMap stack:
iload 2
iconst_5
if_icmpne 43
36: aload 0
getfield android.renderscript.RenderScript$MessageThread.mRS:Landroid/renderscript/RenderScript;
aload 0
getfield android.renderscript.RenderScript$MessageThread.mRS:Landroid/renderscript/RenderScript;
getfield android.renderscript.RenderScript.mContext:J
aload 1
invokevirtual android.renderscript.RenderScript.nContextGetUserMessage:(J[I)I
37: iconst_5
38: if_icmpeq 40
39: new android.renderscript.RSDriverException
dup
ldc "Error processing message from RenderScript."
invokespecial android.renderscript.RSDriverException.<init>:(Ljava/lang/String;)V
athrow
40: StackMap locals:
StackMap stack:
aload 1
iconst_1
iaload
i2l
bipush 32
lshl
aload 1
iconst_0
iaload
i2l
ldc 4294967295
land
ladd
lstore 5
start local 5 41: lload 5
invokestatic android.renderscript.Allocation.sendBufferNotification:(J)V
42: goto 46
end local 5 43: StackMap locals:
StackMap stack:
lconst_1
iconst_0
invokestatic android.renderscript.RenderScript$MessageThread.sleep:(JI)V
44: goto 46
StackMap locals:
StackMap stack: java.lang.InterruptedException
45: pop
end local 4 end local 3 end local 2 46: StackMap locals:
StackMap stack:
aload 0
getfield android.renderscript.RenderScript$MessageThread.mRun:Z
ifne 3
47: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 48 0 this Landroid/renderscript/RenderScript$MessageThread;
1 48 1 rbuf [I
5 46 2 msg I
6 46 3 size I
7 46 4 subID I
23 35 5 e Ljava/lang/String;
41 43 5 bufferID J
Exception table:
from to target type
43 44 45 Class java.lang.InterruptedException
}
SourceFile: "RenderScript.java"
NestHost: android.renderscript.RenderScript
InnerClasses:
public final ContextType = android.renderscript.RenderScript$ContextType of android.renderscript.RenderScript
MessageThread = android.renderscript.RenderScript$MessageThread of android.renderscript.RenderScript
public RSErrorHandler = android.renderscript.RenderScript$RSErrorHandler of android.renderscript.RenderScript
public RSMessageHandler = android.renderscript.RenderScript$RSMessageHandler of android.renderscript.RenderScript