This commit is contained in:
2022-06-10 21:38:30 +09:00
commit 27f5152838
51323 changed files with 12934539 additions and 0 deletions
+90
View File
@@ -0,0 +1,90 @@
.class public final synthetic Luj/a;
.super Ljava/lang/Object;
# annotations
.annotation runtime Lkotlin/Metadata;
bv = {
0x1,
0x0,
0x3
}
k = 0x3
mv = {
0x1,
0x4,
0x0
}
.end annotation
# static fields
.field public static final synthetic a:[I
# direct methods
.method public static synthetic constructor <clinit>()V
.locals 3
invoke-static {}, Lkotlinx/coroutines/scheduling/CoroutineScheduler$WorkerState;->values()[Lkotlinx/coroutines/scheduling/CoroutineScheduler$WorkerState;
move-result-object v0
array-length v0, v0
new-array v0, v0, [I
sput-object v0, Luj/a;->a:[I
sget-object v1, Lkotlinx/coroutines/scheduling/CoroutineScheduler$WorkerState;->PARKING:Lkotlinx/coroutines/scheduling/CoroutineScheduler$WorkerState;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x1
aput v2, v0, v1
sget-object v1, Lkotlinx/coroutines/scheduling/CoroutineScheduler$WorkerState;->BLOCKING:Lkotlinx/coroutines/scheduling/CoroutineScheduler$WorkerState;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x2
aput v2, v0, v1
sget-object v1, Lkotlinx/coroutines/scheduling/CoroutineScheduler$WorkerState;->CPU_ACQUIRED:Lkotlinx/coroutines/scheduling/CoroutineScheduler$WorkerState;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x3
aput v2, v0, v1
sget-object v1, Lkotlinx/coroutines/scheduling/CoroutineScheduler$WorkerState;->DORMANT:Lkotlinx/coroutines/scheduling/CoroutineScheduler$WorkerState;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x4
aput v2, v0, v1
sget-object v1, Lkotlinx/coroutines/scheduling/CoroutineScheduler$WorkerState;->TERMINATED:Lkotlinx/coroutines/scheduling/CoroutineScheduler$WorkerState;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x5
aput v2, v0, v1
return-void
.end method
+78
View File
@@ -0,0 +1,78 @@
.class public final Luj/b;
.super Ljava/lang/Object;
.source "CoroutineScheduler.kt"
# annotations
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000\u000e\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0002\u0008\u0003\u001a\u0010\u0010\u0003\u001a\u00020\u00022\u0006\u0010\u0001\u001a\u00020\u0000H\u0001\u001a\u0010\u0010\u0004\u001a\u00020\u00022\u0006\u0010\u0001\u001a\u00020\u0000H\u0001\u00a8\u0006\u0005"
}
d2 = {
"Ljava/lang/Thread;",
"thread",
"",
"a",
"b",
"kotlinx-coroutines-core"
}
k = 0x2
mv = {
0x1,
0x4,
0x0
}
.end annotation
# direct methods
.method public static final a(Ljava/lang/Thread;)Z
.locals 0
.param p0 # Ljava/lang/Thread;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.annotation build Lkotlin/jvm/JvmName;
name = "isSchedulerWorker"
.end annotation
.line 1
instance-of p0, p0, Lkotlinx/coroutines/scheduling/CoroutineScheduler$b;
return p0
.end method
.method public static final b(Ljava/lang/Thread;)Z
.locals 1
.param p0 # Ljava/lang/Thread;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.annotation build Lkotlin/jvm/JvmName;
name = "mayNotBlock"
.end annotation
.line 1
instance-of v0, p0, Lkotlinx/coroutines/scheduling/CoroutineScheduler$b;
if-eqz v0, :cond_0
check-cast p0, Lkotlinx/coroutines/scheduling/CoroutineScheduler$b;
iget-object p0, p0, Lkotlinx/coroutines/scheduling/CoroutineScheduler$b;->b:Lkotlinx/coroutines/scheduling/CoroutineScheduler$WorkerState;
sget-object v0, Lkotlinx/coroutines/scheduling/CoroutineScheduler$WorkerState;->CPU_ACQUIRED:Lkotlinx/coroutines/scheduling/CoroutineScheduler$WorkerState;
if-ne p0, v0, :cond_0
const/4 p0, 0x1
goto :goto_0
:cond_0
const/4 p0, 0x0
:goto_0
return p0
.end method
+169
View File
@@ -0,0 +1,169 @@
.class public final Luj/c;
.super Luj/d;
.source "Dispatcher.kt"
# annotations
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000\u001e\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0007\u0008\u00c0\u0002\u0018\u00002\u00020\u0001B\t\u0008\u0002\u00a2\u0006\u0004\u0008\u000c\u0010\rJ\u0008\u0010\u0003\u001a\u00020\u0002H\u0016J\u0008\u0010\u0005\u001a\u00020\u0004H\u0016J\u0008\u0010\u0006\u001a\u00020\u0004H\u0007R\u0017\u0010\u0008\u001a\u00020\u00078\u0006\u00a2\u0006\u000c\n\u0004\u0008\u0008\u0010\t\u001a\u0004\u0008\n\u0010\u000b\u00a8\u0006\u000e"
}
d2 = {
"Luj/c;",
"Luj/d;",
"Lkotlin/d1;",
"close",
"",
"toString",
"R1",
"Lkotlinx/coroutines/CoroutineDispatcher;",
"IO",
"Lkotlinx/coroutines/CoroutineDispatcher;",
"Q1",
"()Lkotlinx/coroutines/CoroutineDispatcher;",
"<init>",
"()V",
"kotlinx-coroutines-core"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# static fields
.field public static final g:Lkotlinx/coroutines/CoroutineDispatcher;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end field
.field public static final h:Luj/c;
# direct methods
.method public static constructor <clinit>()V
.locals 10
.line 1
new-instance v0, Luj/c;
invoke-direct {v0}, Luj/c;-><init>()V
sput-object v0, Luj/c;->h:Luj/c;
.line 2
new-instance v1, Luj/f;
.line 3
invoke-static {}, Lkotlinx/coroutines/internal/k0;->a()I
move-result v2
const/16 v3, 0x40
invoke-static {v3, v2}, Lkj/q;->n(II)I
move-result v5
const-string v4, "kotlinx.coroutines.io.parallelism"
const/4 v6, 0x0
const/4 v7, 0x0
const/16 v8, 0xc
const/4 v9, 0x0
invoke-static/range {v4 .. v9}, Lkotlinx/coroutines/internal/k0;->f(Ljava/lang/String;IIIILjava/lang/Object;)I
move-result v2
const-string v3, "Dispatchers.IO"
const/4 v4, 0x1
.line 4
invoke-direct {v1, v0, v2, v3, v4}, Luj/f;-><init>(Luj/d;ILjava/lang/String;I)V
sput-object v1, Luj/c;->g:Lkotlinx/coroutines/CoroutineDispatcher;
return-void
.end method
.method public constructor <init>()V
.locals 6
const/4 v1, 0x0
const/4 v2, 0x0
const/4 v3, 0x0
const/4 v4, 0x7
const/4 v5, 0x0
move-object v0, p0
.line 1
invoke-direct/range {v0 .. v5}, Luj/d;-><init>(IILjava/lang/String;ILkotlin/jvm/internal/u;)V
return-void
.end method
# virtual methods
.method public final Q1()Lkotlinx/coroutines/CoroutineDispatcher;
.locals 1
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.line 1
sget-object v0, Luj/c;->g:Lkotlinx/coroutines/CoroutineDispatcher;
return-object v0
.end method
.method public final R1()Ljava/lang/String;
.locals 1
.annotation build Lkotlinx/coroutines/InternalCoroutinesApi;
.end annotation
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.line 1
invoke-super {p0}, Luj/d;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public close()V
.locals 2
.line 1
new-instance v0, Ljava/lang/UnsupportedOperationException;
const-string v1, "Dispatchers.Default cannot be closed"
invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public toString()Ljava/lang/String;
.locals 1
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
const-string v0, "Dispatchers.Default"
return-object v0
.end method
+686
View File
@@ -0,0 +1,686 @@
.class public Luj/d;
.super Lkotlinx/coroutines/ExecutorCoroutineDispatcher;
.source "Dispatcher.kt"
# annotations
.annotation system Ldalvik/annotation/SourceDebugExtension;
value = "SMAP\nDispatcher.kt\nKotlin\n*S Kotlin\n*F\n+ 1 Dispatcher.kt\nkotlinx/coroutines/scheduling/ExperimentalCoroutineDispatcher\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,245:1\n1#2:246\n*E\n"
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000V\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0003\n\u0002\u0010\u000e\n\u0000\n\u0002\u0010\u0008\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u000b\n\u0002\u0008\u0005\n\u0002\u0010\t\n\u0002\u0008\u0004\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u000c\u0008\u0017\u0018\u00002\u00020\u0001B)\u0012\u0006\u0010$\u001a\u00020\r\u0012\u0006\u0010%\u001a\u00020\r\u0012\u0006\u0010&\u001a\u00020\u0019\u0012\u0008\u0008\u0002\u0010\'\u001a\u00020\u000b\u00a2\u0006\u0004\u0008(\u0010)B\'\u0008\u0016\u0012\u0008\u0008\u0002\u0010$\u001a\u00020\r\u0012\u0008\u0008\u0002\u0010%\u001a\u00020\r\u0012\u0008\u0008\u0002\u0010\'\u001a\u00020\u000b\u00a2\u0006\u0004\u0008(\u0010*B\u001d\u0008\u0017\u0012\u0008\u0008\u0002\u0010$\u001a\u00020\r\u0012\u0008\u0008\u0002\u0010%\u001a\u00020\r\u00a2\u0006\u0004\u0008(\u0010+J\u001c\u0010\u0008\u001a\u00020\u00072\u0006\u0010\u0003\u001a\u00020\u00022\n\u0010\u0006\u001a\u00060\u0004j\u0002`\u0005H\u0016J\u001c\u0010\t\u001a\u00020\u00072\u0006\u0010\u0003\u001a\u00020\u00022\n\u0010\u0006\u001a\u00060\u0004j\u0002`\u0005H\u0016J\u0008\u0010\n\u001a\u00020\u0007H\u0016J\u0008\u0010\u000c\u001a\u00020\u000bH\u0016J\u0010\u0010\u0010\u001a\u00020\u000f2\u0008\u0008\u0002\u0010\u000e\u001a\u00020\rJ\u000e\u0010\u0011\u001a\u00020\u000f2\u0006\u0010\u000e\u001a\u00020\rJ+\u0010\u0015\u001a\u00020\u00072\n\u0010\u0006\u001a\u00060\u0004j\u0002`\u00052\u0006\u0010\u0003\u001a\u00020\u00122\u0006\u0010\u0014\u001a\u00020\u0013H\u0000\u00a2\u0006\u0004\u0008\u0015\u0010\u0016J\u000f\u0010\u0017\u001a\u00020\u0007H\u0000\u00a2\u0006\u0004\u0008\u0017\u0010\u0018J\u0017\u0010\u001b\u001a\u00020\u00072\u0006\u0010\u001a\u001a\u00020\u0019H\u0000\u00a2\u0006\u0004\u0008\u001b\u0010\u001cJ\u000f\u0010\u001d\u001a\u00020\u0007H\u0000\u00a2\u0006\u0004\u0008\u001d\u0010\u0018J\u0008\u0010\u001f\u001a\u00020\u001eH\u0002R\u0014\u0010#\u001a\u00020 8VX\u0096\u0004\u00a2\u0006\u0006\u001a\u0004\u0008!\u0010\"\u00a8\u0006,"
}
d2 = {
"Luj/d;",
"Lkotlinx/coroutines/ExecutorCoroutineDispatcher;",
"Lkotlin/coroutines/CoroutineContext;",
"context",
"Ljava/lang/Runnable;",
"Lkotlinx/coroutines/Runnable;",
"block",
"Lkotlin/d1;",
"dispatch",
"dispatchYield",
"close",
"",
"toString",
"",
"parallelism",
"Lkotlinx/coroutines/CoroutineDispatcher;",
"I1",
"M1",
"Luj/j;",
"",
"tailDispatch",
"L1",
"(Ljava/lang/Runnable;Luj/j;Z)V",
"P1",
"()V",
"",
"timeout",
"O1",
"(J)V",
"N1",
"Lkotlinx/coroutines/scheduling/CoroutineScheduler;",
"K1",
"Ljava/util/concurrent/Executor;",
"H1",
"()Ljava/util/concurrent/Executor;",
"executor",
"corePoolSize",
"maxPoolSize",
"idleWorkerKeepAliveNs",
"schedulerName",
"<init>",
"(IIJLjava/lang/String;)V",
"(IILjava/lang/String;)V",
"(II)V",
"kotlinx-coroutines-core"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
.annotation build Lkotlinx/coroutines/InternalCoroutinesApi;
.end annotation
# instance fields
.field public b:Lkotlinx/coroutines/scheduling/CoroutineScheduler;
.field public final c:I
.field public final d:I
.field public final e:J
.field public final f:Ljava/lang/String;
# direct methods
.method public synthetic constructor <init>(II)V
.locals 8
.annotation runtime Lkotlin/Deprecated;
level = .enum Lkotlin/DeprecationLevel;->HIDDEN:Lkotlin/DeprecationLevel;
message = "Binary compatibility for Ktor 1.0-beta"
.end annotation
.line 10
sget-wide v3, Luj/l;->g:J
const/4 v5, 0x0
const/16 v6, 0x8
const/4 v7, 0x0
move-object v0, p0
move v1, p1
move v2, p2
invoke-direct/range {v0 .. v7}, Luj/d;-><init>(IIJLjava/lang/String;ILkotlin/jvm/internal/u;)V
return-void
.end method
.method public synthetic constructor <init>(IIILkotlin/jvm/internal/u;)V
.locals 0
and-int/lit8 p4, p3, 0x1
if-eqz p4, :cond_0
.line 8
sget p1, Luj/l;->e:I
:cond_0
and-int/lit8 p3, p3, 0x2
if-eqz p3, :cond_1
.line 9
sget p2, Luj/l;->f:I
:cond_1
invoke-direct {p0, p1, p2}, Luj/d;-><init>(II)V
return-void
.end method
.method public constructor <init>(IIJLjava/lang/String;)V
.locals 0
.param p5 # Ljava/lang/String;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.line 2
invoke-direct {p0}, Lkotlinx/coroutines/ExecutorCoroutineDispatcher;-><init>()V
iput p1, p0, Luj/d;->c:I
iput p2, p0, Luj/d;->d:I
iput-wide p3, p0, Luj/d;->e:J
iput-object p5, p0, Luj/d;->f:Ljava/lang/String;
.line 3
invoke-virtual {p0}, Luj/d;->K1()Lkotlinx/coroutines/scheduling/CoroutineScheduler;
move-result-object p1
iput-object p1, p0, Luj/d;->b:Lkotlinx/coroutines/scheduling/CoroutineScheduler;
return-void
.end method
.method public synthetic constructor <init>(IIJLjava/lang/String;ILkotlin/jvm/internal/u;)V
.locals 6
and-int/lit8 p6, p6, 0x8
if-eqz p6, :cond_0
const-string p5, "CoroutineScheduler"
:cond_0
move-object v5, p5
move-object v0, p0
move v1, p1
move v2, p2
move-wide v3, p3
.line 1
invoke-direct/range {v0 .. v5}, Luj/d;-><init>(IIJLjava/lang/String;)V
return-void
.end method
.method public constructor <init>(IILjava/lang/String;)V
.locals 6
.param p3 # Ljava/lang/String;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.line 7
sget-wide v3, Luj/l;->g:J
move-object v0, p0
move v1, p1
move v2, p2
move-object v5, p3
invoke-direct/range {v0 .. v5}, Luj/d;-><init>(IIJLjava/lang/String;)V
return-void
.end method
.method public synthetic constructor <init>(IILjava/lang/String;ILkotlin/jvm/internal/u;)V
.locals 0
and-int/lit8 p5, p4, 0x1
if-eqz p5, :cond_0
.line 4
sget p1, Luj/l;->e:I
:cond_0
and-int/lit8 p5, p4, 0x2
if-eqz p5, :cond_1
.line 5
sget p2, Luj/l;->f:I
:cond_1
and-int/lit8 p4, p4, 0x4
if-eqz p4, :cond_2
const-string p3, "DefaultDispatcher"
.line 6
:cond_2
invoke-direct {p0, p1, p2, p3}, Luj/d;-><init>(IILjava/lang/String;)V
return-void
.end method
.method public static synthetic J1(Luj/d;IILjava/lang/Object;)Lkotlinx/coroutines/CoroutineDispatcher;
.locals 0
if-nez p3, :cond_1
and-int/lit8 p2, p2, 0x1
if-eqz p2, :cond_0
.line 1
sget p1, Luj/l;->d:I
:cond_0
invoke-virtual {p0, p1}, Luj/d;->I1(I)Lkotlinx/coroutines/CoroutineDispatcher;
move-result-object p0
return-object p0
.line 2
:cond_1
new-instance p0, Ljava/lang/UnsupportedOperationException;
const-string p1, "Super calls with default arguments not supported in this target, function: blocking"
invoke-direct {p0, p1}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
throw p0
.end method
# virtual methods
.method public H1()Ljava/util/concurrent/Executor;
.locals 1
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.line 1
iget-object v0, p0, Luj/d;->b:Lkotlinx/coroutines/scheduling/CoroutineScheduler;
return-object v0
.end method
.method public final I1(I)Lkotlinx/coroutines/CoroutineDispatcher;
.locals 3
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
const/4 v0, 0x1
if-lez p1, :cond_0
move v1, v0
goto :goto_0
:cond_0
const/4 v1, 0x0
:goto_0
if-eqz v1, :cond_1
.line 1
new-instance v1, Luj/f;
const/4 v2, 0x0
invoke-direct {v1, p0, p1, v2, v0}, Luj/f;-><init>(Luj/d;ILjava/lang/String;I)V
return-object v1
:cond_1
const-string v0, "Expected positive parallelism level, but have "
.line 2
invoke-static {v0, p1}, Landroid/support/v4/media/b;->a(Ljava/lang/String;I)Ljava/lang/String;
move-result-object p1
new-instance v0, Ljava/lang/IllegalArgumentException;
invoke-virtual {p1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public final K1()Lkotlinx/coroutines/scheduling/CoroutineScheduler;
.locals 7
.line 1
new-instance v6, Lkotlinx/coroutines/scheduling/CoroutineScheduler;
iget v1, p0, Luj/d;->c:I
iget v2, p0, Luj/d;->d:I
iget-wide v3, p0, Luj/d;->e:J
iget-object v5, p0, Luj/d;->f:Ljava/lang/String;
move-object v0, v6
invoke-direct/range {v0 .. v5}, Lkotlinx/coroutines/scheduling/CoroutineScheduler;-><init>(IIJLjava/lang/String;)V
return-object v6
.end method
.method public final L1(Ljava/lang/Runnable;Luj/j;Z)V
.locals 1
.param p1 # Ljava/lang/Runnable;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.param p2 # Luj/j;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.line 1
:try_start_0
iget-object v0, p0, Luj/d;->b:Lkotlinx/coroutines/scheduling/CoroutineScheduler;
invoke-virtual {v0, p1, p2, p3}, Lkotlinx/coroutines/scheduling/CoroutineScheduler;->c0(Ljava/lang/Runnable;Luj/j;Z)V
:try_end_0
.catch Ljava/util/concurrent/RejectedExecutionException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
.line 2
:catch_0
sget-object p3, Lkotlinx/coroutines/s0;->p:Lkotlinx/coroutines/s0;
iget-object v0, p0, Luj/d;->b:Lkotlinx/coroutines/scheduling/CoroutineScheduler;
invoke-virtual {v0, p1, p2}, Lkotlinx/coroutines/scheduling/CoroutineScheduler;->N(Ljava/lang/Runnable;Luj/j;)Luj/i;
move-result-object p1
invoke-virtual {p3, p1}, Lkotlinx/coroutines/j1;->b2(Ljava/lang/Runnable;)V
:goto_0
return-void
.end method
.method public final M1(I)Lkotlinx/coroutines/CoroutineDispatcher;
.locals 3
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
const/4 v0, 0x1
const/4 v1, 0x0
if-lez p1, :cond_0
move v2, v0
goto :goto_0
:cond_0
move v2, v1
:goto_0
if-eqz v2, :cond_3
.line 1
iget v2, p0, Luj/d;->c:I
if-gt p1, v2, :cond_1
goto :goto_1
:cond_1
move v0, v1
:goto_1
if-eqz v0, :cond_2
.line 2
new-instance v0, Luj/f;
const/4 v2, 0x0
invoke-direct {v0, p0, p1, v2, v1}, Luj/f;-><init>(Luj/d;ILjava/lang/String;I)V
return-object v0
:cond_2
const-string v0, "Expected parallelism level lesser than core pool size ("
.line 3
invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget v1, p0, Luj/d;->c:I
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, "), but have "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
new-instance v0, Ljava/lang/IllegalArgumentException;
invoke-virtual {p1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
:cond_3
const-string v0, "Expected positive parallelism level, but have "
.line 4
invoke-static {v0, p1}, Landroid/support/v4/media/b;->a(Ljava/lang/String;I)Ljava/lang/String;
move-result-object p1
new-instance v0, Ljava/lang/IllegalArgumentException;
invoke-virtual {p1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public final N1()V
.locals 0
.line 1
invoke-virtual {p0}, Luj/d;->P1()V
return-void
.end method
.method public final declared-synchronized O1(J)V
.locals 1
monitor-enter p0
.line 1
:try_start_0
iget-object v0, p0, Luj/d;->b:Lkotlinx/coroutines/scheduling/CoroutineScheduler;
invoke-virtual {v0, p1, p2}, Lkotlinx/coroutines/scheduling/CoroutineScheduler;->I1(J)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 2
monitor-exit p0
return-void
:catchall_0
move-exception p1
monitor-exit p0
throw p1
.end method
.method public final declared-synchronized P1()V
.locals 3
monitor-enter p0
.line 1
:try_start_0
iget-object v0, p0, Luj/d;->b:Lkotlinx/coroutines/scheduling/CoroutineScheduler;
const-wide/16 v1, 0x3e8
invoke-virtual {v0, v1, v2}, Lkotlinx/coroutines/scheduling/CoroutineScheduler;->I1(J)V
.line 2
invoke-virtual {p0}, Luj/d;->K1()Lkotlinx/coroutines/scheduling/CoroutineScheduler;
move-result-object v0
iput-object v0, p0, Luj/d;->b:Lkotlinx/coroutines/scheduling/CoroutineScheduler;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 3
monitor-exit p0
return-void
:catchall_0
move-exception v0
monitor-exit p0
throw v0
.end method
.method public close()V
.locals 1
.line 1
iget-object v0, p0, Luj/d;->b:Lkotlinx/coroutines/scheduling/CoroutineScheduler;
invoke-virtual {v0}, Lkotlinx/coroutines/scheduling/CoroutineScheduler;->close()V
return-void
.end method
.method public dispatch(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Runnable;)V
.locals 6
.param p1 # Lkotlin/coroutines/CoroutineContext;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.param p2 # Ljava/lang/Runnable;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.line 1
:try_start_0
iget-object v0, p0, Luj/d;->b:Lkotlinx/coroutines/scheduling/CoroutineScheduler;
const/4 v2, 0x0
const/4 v3, 0x0
const/4 v4, 0x6
const/4 v5, 0x0
move-object v1, p2
invoke-static/range {v0 .. v5}, Lkotlinx/coroutines/scheduling/CoroutineScheduler;->e0(Lkotlinx/coroutines/scheduling/CoroutineScheduler;Ljava/lang/Runnable;Luj/j;ZILjava/lang/Object;)V
:try_end_0
.catch Ljava/util/concurrent/RejectedExecutionException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
.line 2
:catch_0
sget-object v0, Lkotlinx/coroutines/s0;->p:Lkotlinx/coroutines/s0;
invoke-virtual {v0, p1, p2}, Lkotlinx/coroutines/j1;->dispatch(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Runnable;)V
:goto_0
return-void
.end method
.method public dispatchYield(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Runnable;)V
.locals 6
.param p1 # Lkotlin/coroutines/CoroutineContext;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.param p2 # Ljava/lang/Runnable;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.line 1
:try_start_0
iget-object v0, p0, Luj/d;->b:Lkotlinx/coroutines/scheduling/CoroutineScheduler;
const/4 v2, 0x0
const/4 v3, 0x1
const/4 v4, 0x2
const/4 v5, 0x0
move-object v1, p2
invoke-static/range {v0 .. v5}, Lkotlinx/coroutines/scheduling/CoroutineScheduler;->e0(Lkotlinx/coroutines/scheduling/CoroutineScheduler;Ljava/lang/Runnable;Luj/j;ZILjava/lang/Object;)V
:try_end_0
.catch Ljava/util/concurrent/RejectedExecutionException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
.line 2
:catch_0
sget-object v0, Lkotlinx/coroutines/s0;->p:Lkotlinx/coroutines/s0;
invoke-virtual {v0, p1, p2}, Lkotlinx/coroutines/CoroutineDispatcher;->dispatchYield(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Runnable;)V
:goto_0
return-void
.end method
.method public toString()Ljava/lang/String;
.locals 2
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.line 1
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-super {p0}, Lkotlinx/coroutines/CoroutineDispatcher;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "[scheduler = "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Luj/d;->b:Lkotlinx/coroutines/scheduling/CoroutineScheduler;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const/16 v1, 0x5d
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
+47
View File
@@ -0,0 +1,47 @@
.class public final Luj/e;
.super Lkotlinx/coroutines/internal/u;
.source "Tasks.kt"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlinx/coroutines/internal/u<",
"Luj/i;",
">;"
}
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000\u0010\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0003\u0008\u0000\u0018\u00002\u0008\u0012\u0004\u0012\u00020\u00020\u0001B\u0007\u00a2\u0006\u0004\u0008\u0003\u0010\u0004\u00a8\u0006\u0005"
}
d2 = {
"Luj/e;",
"Lkotlinx/coroutines/internal/u;",
"Luj/i;",
"<init>",
"()V",
"kotlinx-coroutines-core"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# direct methods
.method public constructor <init>()V
.locals 1
const/4 v0, 0x0
.line 1
invoke-direct {p0, v0}, Lkotlinx/coroutines/internal/u;-><init>(Z)V
return-void
.end method
+383
View File
@@ -0,0 +1,383 @@
.class public final Luj/f;
.super Lkotlinx/coroutines/ExecutorCoroutineDispatcher;
.source "Dispatcher.kt"
# interfaces
.implements Luj/j;
.implements Ljava/util/concurrent/Executor;
# annotations
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000J\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0004\n\u0002\u0018\u0002\n\u0002\u0008\u0005\n\u0002\u0010\u000e\n\u0002\u0008\u0003\n\u0002\u0010\u000b\n\u0002\u0008\u0006\n\u0002\u0010\u0008\n\u0002\u0008\u0004\n\u0002\u0018\u0002\n\u0002\u0008\u0006\u0008\u0002\u0018\u00002\u00020\u00012\u00020\u00022\u00020\u0003B)\u0012\u0006\u0010#\u001a\u00020\"\u0012\u0006\u0010$\u001a\u00020\u001d\u0012\u0008\u0010%\u001a\u0004\u0018\u00010\u0012\u0012\u0006\u0010\u001e\u001a\u00020\u001d\u00a2\u0006\u0004\u0008&\u0010\'J\u001b\u0010\u0008\u001a\u00020\u00072\n\u0010\u0006\u001a\u00060\u0004j\u0002`\u0005H\u0016\u00a2\u0006\u0004\u0008\u0008\u0010\tJ\u000f\u0010\n\u001a\u00020\u0007H\u0016\u00a2\u0006\u0004\u0008\n\u0010\u000bJ#\u0010\u000f\u001a\u00020\u00072\u0006\u0010\r\u001a\u00020\u000c2\n\u0010\u000e\u001a\u00060\u0004j\u0002`\u0005H\u0016\u00a2\u0006\u0004\u0008\u000f\u0010\u0010J#\u0010\u0011\u001a\u00020\u00072\u0006\u0010\r\u001a\u00020\u000c2\n\u0010\u000e\u001a\u00060\u0004j\u0002`\u0005H\u0016\u00a2\u0006\u0004\u0008\u0011\u0010\u0010J\u000f\u0010\u0013\u001a\u00020\u0012H\u0016\u00a2\u0006\u0004\u0008\u0013\u0010\u0014J\u000f\u0010\u0015\u001a\u00020\u0007H\u0016\u00a2\u0006\u0004\u0008\u0015\u0010\u000bJ#\u0010\u0018\u001a\u00020\u00072\n\u0010\u000e\u001a\u00060\u0004j\u0002`\u00052\u0006\u0010\u0017\u001a\u00020\u0016H\u0002\u00a2\u0006\u0004\u0008\u0018\u0010\u0019R\u0014\u0010\u001c\u001a\u00020\u00038VX\u0096\u0004\u00a2\u0006\u0006\u001a\u0004\u0008\u001a\u0010\u001bR\u001a\u0010\u001e\u001a\u00020\u001d8\u0016X\u0096\u0004\u00a2\u0006\u000c\n\u0004\u0008\u001e\u0010\u001f\u001a\u0004\u0008 \u0010!\u00a8\u0006("
}
d2 = {
"Luj/f;",
"Lkotlinx/coroutines/ExecutorCoroutineDispatcher;",
"Luj/j;",
"Ljava/util/concurrent/Executor;",
"Ljava/lang/Runnable;",
"Lkotlinx/coroutines/Runnable;",
"command",
"Lkotlin/d1;",
"execute",
"(Ljava/lang/Runnable;)V",
"close",
"()V",
"Lkotlin/coroutines/CoroutineContext;",
"context",
"block",
"dispatch",
"(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Runnable;)V",
"dispatchYield",
"",
"toString",
"()Ljava/lang/String;",
"K0",
"",
"tailDispatch",
"I1",
"(Ljava/lang/Runnable;Z)V",
"H1",
"()Ljava/util/concurrent/Executor;",
"executor",
"",
"taskMode",
"I",
"X0",
"()I",
"Luj/d;",
"dispatcher",
"parallelism",
"name",
"<init>",
"(Luj/d;ILjava/lang/String;I)V",
"kotlinx-coroutines-core"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# static fields
.field public static final g:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
# instance fields
.field public final b:Ljava/util/concurrent/ConcurrentLinkedQueue;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/ConcurrentLinkedQueue<",
"Ljava/lang/Runnable;",
">;"
}
.end annotation
.end field
.field public final c:Luj/d;
.field public final d:I
.field public final e:Ljava/lang/String;
.field public final f:I
.field private volatile inFlightTasks:I
# direct methods
.method public static constructor <clinit>()V
.locals 2
const-class v0, Luj/f;
const-string v1, "inFlightTasks"
invoke-static {v0, v1}, Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;->newUpdater(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
move-result-object v0
sput-object v0, Luj/f;->g:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
return-void
.end method
.method public constructor <init>(Luj/d;ILjava/lang/String;I)V
.locals 0
.param p1 # Luj/d;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.param p3 # Ljava/lang/String;
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.end param
.line 1
invoke-direct {p0}, Lkotlinx/coroutines/ExecutorCoroutineDispatcher;-><init>()V
iput-object p1, p0, Luj/f;->c:Luj/d;
iput p2, p0, Luj/f;->d:I
iput-object p3, p0, Luj/f;->e:Ljava/lang/String;
iput p4, p0, Luj/f;->f:I
.line 2
new-instance p1, Ljava/util/concurrent/ConcurrentLinkedQueue;
invoke-direct {p1}, Ljava/util/concurrent/ConcurrentLinkedQueue;-><init>()V
iput-object p1, p0, Luj/f;->b:Ljava/util/concurrent/ConcurrentLinkedQueue;
const/4 p1, 0x0
.line 3
iput p1, p0, Luj/f;->inFlightTasks:I
return-void
.end method
# virtual methods
.method public H1()Ljava/util/concurrent/Executor;
.locals 0
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
return-object p0
.end method
.method public final I1(Ljava/lang/Runnable;Z)V
.locals 3
.line 1
:goto_0
sget-object v0, Luj/f;->g:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
invoke-virtual {v0, p0}, Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;->incrementAndGet(Ljava/lang/Object;)I
move-result v1
.line 2
iget v2, p0, Luj/f;->d:I
if-gt v1, v2, :cond_0
.line 3
iget-object v0, p0, Luj/f;->c:Luj/d;
invoke-virtual {v0, p1, p0, p2}, Luj/d;->L1(Ljava/lang/Runnable;Luj/j;Z)V
return-void
.line 4
:cond_0
iget-object v1, p0, Luj/f;->b:Ljava/util/concurrent/ConcurrentLinkedQueue;
invoke-virtual {v1, p1}, Ljava/util/concurrent/ConcurrentLinkedQueue;->add(Ljava/lang/Object;)Z
.line 5
invoke-virtual {v0, p0}, Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;->decrementAndGet(Ljava/lang/Object;)I
move-result p1
iget v0, p0, Luj/f;->d:I
if-lt p1, v0, :cond_1
return-void
.line 6
:cond_1
iget-object p1, p0, Luj/f;->b:Ljava/util/concurrent/ConcurrentLinkedQueue;
invoke-virtual {p1}, Ljava/util/concurrent/ConcurrentLinkedQueue;->poll()Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/Runnable;
if-eqz p1, :cond_2
goto :goto_0
:cond_2
return-void
.end method
.method public K0()V
.locals 3
.line 1
iget-object v0, p0, Luj/f;->b:Ljava/util/concurrent/ConcurrentLinkedQueue;
invoke-virtual {v0}, Ljava/util/concurrent/ConcurrentLinkedQueue;->poll()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Runnable;
const/4 v1, 0x1
if-eqz v0, :cond_0
.line 2
iget-object v2, p0, Luj/f;->c:Luj/d;
invoke-virtual {v2, v0, p0, v1}, Luj/d;->L1(Ljava/lang/Runnable;Luj/j;Z)V
return-void
.line 3
:cond_0
sget-object v0, Luj/f;->g:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
invoke-virtual {v0, p0}, Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;->decrementAndGet(Ljava/lang/Object;)I
.line 4
iget-object v0, p0, Luj/f;->b:Ljava/util/concurrent/ConcurrentLinkedQueue;
invoke-virtual {v0}, Ljava/util/concurrent/ConcurrentLinkedQueue;->poll()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Runnable;
if-eqz v0, :cond_1
.line 5
invoke-virtual {p0, v0, v1}, Luj/f;->I1(Ljava/lang/Runnable;Z)V
:cond_1
return-void
.end method
.method public X0()I
.locals 1
.line 1
iget v0, p0, Luj/f;->f:I
return v0
.end method
.method public close()V
.locals 2
.line 1
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "Close cannot be invoked on LimitingBlockingDispatcher"
invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public dispatch(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Runnable;)V
.locals 0
.param p1 # Lkotlin/coroutines/CoroutineContext;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.param p2 # Ljava/lang/Runnable;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
const/4 p1, 0x0
.line 1
invoke-virtual {p0, p2, p1}, Luj/f;->I1(Ljava/lang/Runnable;Z)V
return-void
.end method
.method public dispatchYield(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Runnable;)V
.locals 0
.param p1 # Lkotlin/coroutines/CoroutineContext;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.param p2 # Ljava/lang/Runnable;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
const/4 p1, 0x1
.line 1
invoke-virtual {p0, p2, p1}, Luj/f;->I1(Ljava/lang/Runnable;Z)V
return-void
.end method
.method public execute(Ljava/lang/Runnable;)V
.locals 1
.param p1 # Ljava/lang/Runnable;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
const/4 v0, 0x0
.line 1
invoke-virtual {p0, p1, v0}, Luj/f;->I1(Ljava/lang/Runnable;Z)V
return-void
.end method
.method public toString()Ljava/lang/String;
.locals 2
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.line 1
iget-object v0, p0, Luj/f;->e:Ljava/lang/String;
if-eqz v0, :cond_0
goto :goto_0
:cond_0
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-super {p0}, Lkotlinx/coroutines/CoroutineDispatcher;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "[dispatcher = "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Luj/f;->c:Luj/d;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const/16 v1, 0x5d
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
:goto_0
return-object v0
.end method
+68
View File
@@ -0,0 +1,68 @@
.class public final Luj/g;
.super Luj/m;
.source "Tasks.kt"
# annotations
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000\u0010\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\t\n\u0002\u0008\u0004\u0008\u00c0\u0002\u0018\u00002\u00020\u0001B\t\u0008\u0002\u00a2\u0006\u0004\u0008\u0004\u0010\u0005J\u0008\u0010\u0003\u001a\u00020\u0002H\u0016\u00a8\u0006\u0006"
}
d2 = {
"Luj/g;",
"Luj/m;",
"",
"a",
"<init>",
"()V",
"kotlinx-coroutines-core"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# static fields
.field public static final a:Luj/g;
# direct methods
.method public static constructor <clinit>()V
.locals 1
.line 1
new-instance v0, Luj/g;
invoke-direct {v0}, Luj/g;-><init>()V
sput-object v0, Luj/g;->a:Luj/g;
return-void
.end method
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Luj/m;-><init>()V
return-void
.end method
# virtual methods
.method public a()J
.locals 2
.line 1
invoke-static {}, Ljava/lang/System;->nanoTime()J
move-result-wide v0
return-wide v0
.end method
+82
View File
@@ -0,0 +1,82 @@
.class public final Luj/h;
.super Ljava/lang/Object;
.source "Tasks.kt"
# interfaces
.implements Luj/j;
# annotations
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000\u0016\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0008\n\u0002\u0008\u0007\u0008\u00c0\u0002\u0018\u00002\u00020\u0001B\t\u0008\u0002\u00a2\u0006\u0004\u0008\t\u0010\nJ\u0008\u0010\u0003\u001a\u00020\u0002H\u0016R\u001a\u0010\u0005\u001a\u00020\u00048\u0016X\u0096D\u00a2\u0006\u000c\n\u0004\u0008\u0005\u0010\u0006\u001a\u0004\u0008\u0007\u0010\u0008\u00a8\u0006\u000b"
}
d2 = {
"Luj/h;",
"Luj/j;",
"Lkotlin/d1;",
"K0",
"",
"taskMode",
"I",
"X0",
"()I",
"<init>",
"()V",
"kotlinx-coroutines-core"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# static fields
.field public static final a:I
.field public static final b:Luj/h;
# direct methods
.method public static constructor <clinit>()V
.locals 1
.line 1
new-instance v0, Luj/h;
invoke-direct {v0}, Luj/h;-><init>()V
sput-object v0, Luj/h;->b:Luj/h;
return-void
.end method
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public K0()V
.locals 0
return-void
.end method
.method public X0()I
.locals 1
.line 1
sget v0, Luj/h;->a:I
return v0
.end method
+100
View File
@@ -0,0 +1,100 @@
.class public abstract Luj/i;
.super Ljava/lang/Object;
.source "Tasks.kt"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000\"\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u0008\n\u0002\u0008\u0003\n\u0002\u0010\t\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0005\u0008 \u0018\u00002\u00060\u0001j\u0002`\u0002B\u0017\u0012\u0006\u0010\u0008\u001a\u00020\u0007\u0012\u0006\u0010\n\u001a\u00020\t\u00a2\u0006\u0004\u0008\u000b\u0010\u000cB\t\u0008\u0016\u00a2\u0006\u0004\u0008\u000b\u0010\rR\u0012\u0010\u0006\u001a\u00020\u00038\u00c6\u0002\u00a2\u0006\u0006\u001a\u0004\u0008\u0004\u0010\u0005\u00a8\u0006\u000e"
}
d2 = {
"Luj/i;",
"Ljava/lang/Runnable;",
"Lkotlinx/coroutines/Runnable;",
"",
"b",
"()I",
"mode",
"",
"submissionTime",
"Luj/j;",
"taskContext",
"<init>",
"(JLuj/j;)V",
"()V",
"kotlinx-coroutines-core"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# instance fields
.field public a:J
.annotation build Lkotlin/jvm/JvmField;
.end annotation
.end field
.field public b:Luj/j;
.annotation build Lkotlin/jvm/JvmField;
.end annotation
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end field
# direct methods
.method public constructor <init>()V
.locals 3
.line 2
sget-object v0, Luj/h;->b:Luj/h;
const-wide/16 v1, 0x0
invoke-direct {p0, v1, v2, v0}, Luj/i;-><init>(JLuj/j;)V
return-void
.end method
.method public constructor <init>(JLuj/j;)V
.locals 0
.param p3 # Luj/j;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-wide p1, p0, Luj/i;->a:J
iput-object p3, p0, Luj/i;->b:Luj/j;
return-void
.end method
# virtual methods
.method public final b()I
.locals 1
.line 1
iget-object v0, p0, Luj/i;->b:Luj/j;
invoke-interface {v0}, Luj/j;->X0()I
move-result v0
return v0
.end method
+37
View File
@@ -0,0 +1,37 @@
.class public interface abstract Luj/j;
.super Ljava/lang/Object;
.source "Tasks.kt"
# annotations
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000\u0016\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0008\n\u0002\u0008\u0004\u0008`\u0018\u00002\u00020\u0001J\u0008\u0010\u0003\u001a\u00020\u0002H&R\u0014\u0010\u0007\u001a\u00020\u00048&X\u00a6\u0004\u00a2\u0006\u0006\u001a\u0004\u0008\u0005\u0010\u0006\u00a8\u0006\u0008"
}
d2 = {
"Luj/j;",
"",
"Lkotlin/d1;",
"K0",
"",
"X0",
"()I",
"taskMode",
"kotlinx-coroutines-core"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# virtual methods
.method public abstract K0()V
.end method
.method public abstract X0()I
.end method
+154
View File
@@ -0,0 +1,154 @@
.class public final Luj/k;
.super Luj/i;
.source "Tasks.kt"
# annotations
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000,\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\t\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0004\u0008\u0000\u0018\u00002\u00020\u0001B#\u0012\n\u0010\u0008\u001a\u00060\u0006j\u0002`\u0007\u0012\u0006\u0010\n\u001a\u00020\t\u0012\u0006\u0010\u000c\u001a\u00020\u000b\u00a2\u0006\u0004\u0008\r\u0010\u000eJ\u0008\u0010\u0003\u001a\u00020\u0002H\u0016J\u0008\u0010\u0005\u001a\u00020\u0004H\u0016\u00a8\u0006\u000f"
}
d2 = {
"Luj/k;",
"Luj/i;",
"Lkotlin/d1;",
"run",
"",
"toString",
"Ljava/lang/Runnable;",
"Lkotlinx/coroutines/Runnable;",
"block",
"",
"submissionTime",
"Luj/j;",
"taskContext",
"<init>",
"(Ljava/lang/Runnable;JLuj/j;)V",
"kotlinx-coroutines-core"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# instance fields
.field public final c:Ljava/lang/Runnable;
.annotation build Lkotlin/jvm/JvmField;
.end annotation
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end field
# direct methods
.method public constructor <init>(Ljava/lang/Runnable;JLuj/j;)V
.locals 0
.param p1 # Ljava/lang/Runnable;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.param p4 # Luj/j;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.line 1
invoke-direct {p0, p2, p3, p4}, Luj/i;-><init>(JLuj/j;)V
iput-object p1, p0, Luj/k;->c:Ljava/lang/Runnable;
return-void
.end method
# virtual methods
.method public run()V
.locals 2
.line 1
:try_start_0
iget-object v0, p0, Luj/k;->c:Ljava/lang/Runnable;
invoke-interface {v0}, Ljava/lang/Runnable;->run()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 2
iget-object v0, p0, Luj/i;->b:Luj/j;
invoke-interface {v0}, Luj/j;->K0()V
return-void
:catchall_0
move-exception v0
iget-object v1, p0, Luj/i;->b:Luj/j;
invoke-interface {v1}, Luj/j;->K0()V
throw v0
.end method
.method public toString()Ljava/lang/String;
.locals 4
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
const-string v0, "Task["
.line 1
invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Luj/k;->c:Ljava/lang/Runnable;
invoke-static {v1}, Lkotlinx/coroutines/r0;->a(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v1, 0x40
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
iget-object v1, p0, Luj/k;->c:Ljava/lang/Runnable;
invoke-static {v1}, Lkotlinx/coroutines/r0;->b(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, ", "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-wide v2, p0, Luj/i;->a:J
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Luj/i;->b:Luj/j;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const/16 v1, 0x5d
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
+230
View File
@@ -0,0 +1,230 @@
.class public final Luj/l;
.super Ljava/lang/Object;
.source "Tasks.kt"
# annotations
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000\u000c\n\u0002\u0018\u0002\n\u0002\u0010\u000b\n\u0002\u0008\u0004\"\u0019\u0010\u0004\u001a\u00020\u0001*\u00020\u00008\u00c0\u0002X\u0080\u0004\u00a2\u0006\u0006\u001a\u0004\u0008\u0002\u0010\u0003\u00a8\u0006\u0005"
}
d2 = {
"Luj/i;",
"",
"a",
"(Luj/i;)Z",
"isBlocking",
"kotlinx-coroutines-core"
}
k = 0x2
mv = {
0x1,
0x4,
0x0
}
.end annotation
# static fields
.field public static final a:Ljava/lang/String; = "Dispatchers.Default"
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end field
.field public static final b:Ljava/lang/String; = "DefaultDispatcher"
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end field
.field public static final c:J
.annotation build Lkotlin/jvm/JvmField;
.end annotation
.end field
.field public static final d:I
.annotation build Lkotlin/jvm/JvmField;
.end annotation
.end field
.field public static final e:I
.annotation build Lkotlin/jvm/JvmField;
.end annotation
.end field
.field public static final f:I
.annotation build Lkotlin/jvm/JvmField;
.end annotation
.end field
.field public static final g:J
.annotation build Lkotlin/jvm/JvmField;
.end annotation
.end field
.field public static h:Luj/m; = null
.annotation build Lkotlin/jvm/JvmField;
.end annotation
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end field
.field public static final i:I = 0x0
.field public static final j:I = 0x1
# direct methods
.method public static constructor <clinit>()V
.locals 10
const-string v0, "kotlinx.coroutines.scheduler.resolution.ns"
const-wide/32 v1, 0x186a0
const-wide/16 v3, 0x0
const-wide/16 v5, 0x0
const/16 v7, 0xc
const/4 v8, 0x0
.line 1
invoke-static/range {v0 .. v8}, Lkotlinx/coroutines/internal/k0;->g(Ljava/lang/String;JJJILjava/lang/Object;)J
move-result-wide v0
sput-wide v0, Luj/l;->c:J
const-string v2, "kotlinx.coroutines.scheduler.blocking.parallelism"
const/16 v3, 0x10
const/4 v4, 0x0
const/4 v5, 0x0
const/16 v6, 0xc
const/4 v7, 0x0
.line 2
invoke-static/range {v2 .. v7}, Lkotlinx/coroutines/internal/k0;->f(Ljava/lang/String;IIIILjava/lang/Object;)I
move-result v0
sput v0, Luj/l;->d:I
.line 3
invoke-static {}, Lkotlinx/coroutines/internal/k0;->a()I
move-result v0
const/4 v1, 0x2
invoke-static {v0, v1}, Lkj/q;->n(II)I
move-result v3
const-string v2, "kotlinx.coroutines.scheduler.core.pool.size"
const/4 v4, 0x1
const/16 v6, 0x8
.line 4
invoke-static/range {v2 .. v7}, Lkotlinx/coroutines/internal/k0;->f(Ljava/lang/String;IIIILjava/lang/Object;)I
move-result v0
sput v0, Luj/l;->e:I
.line 5
invoke-static {}, Lkotlinx/coroutines/internal/k0;->a()I
move-result v1
mul-int/lit16 v1, v1, 0x80
const v2, 0x1ffffe
invoke-static {v1, v0, v2}, Lkj/q;->B(III)I
move-result v4
const-string v3, "kotlinx.coroutines.scheduler.max.pool.size"
const v6, 0x1ffffe
const/4 v7, 0x4
.line 6
invoke-static/range {v3 .. v8}, Lkotlinx/coroutines/internal/k0;->f(Ljava/lang/String;IIIILjava/lang/Object;)I
move-result v0
sput v0, Luj/l;->f:I
.line 7
sget-object v0, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
const-string v1, "kotlinx.coroutines.scheduler.keep.alive.sec"
const-wide/16 v2, 0x3c
const-wide/16 v4, 0x0
const-wide/16 v6, 0x0
const/16 v8, 0xc
const/4 v9, 0x0
.line 8
invoke-static/range {v1 .. v9}, Lkotlinx/coroutines/internal/k0;->g(Ljava/lang/String;JJJILjava/lang/Object;)J
move-result-wide v1
.line 9
invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/TimeUnit;->toNanos(J)J
move-result-wide v0
sput-wide v0, Luj/l;->g:J
.line 10
sget-object v0, Luj/g;->a:Luj/g;
sput-object v0, Luj/l;->h:Luj/m;
return-void
.end method
.method public static final a(Luj/i;)Z
.locals 1
.param p0 # Luj/i;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.line 1
iget-object p0, p0, Luj/i;->b:Luj/j;
invoke-interface {p0}, Luj/j;->X0()I
move-result p0
const/4 v0, 0x1
if-ne p0, v0, :cond_0
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
+43
View File
@@ -0,0 +1,43 @@
.class public abstract Luj/m;
.super Ljava/lang/Object;
.source "Tasks.kt"
# annotations
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000\u0010\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\u0010\t\n\u0002\u0008\u0004\u0008 \u0018\u00002\u00020\u0001B\u0007\u00a2\u0006\u0004\u0008\u0004\u0010\u0005J\u0008\u0010\u0003\u001a\u00020\u0002H&\u00a8\u0006\u0006"
}
d2 = {
"Luj/m;",
"",
"",
"a",
"<init>",
"()V",
"kotlinx-coroutines-core"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public abstract a()J
.end method
+740
View File
@@ -0,0 +1,740 @@
.class public final Luj/n;
.super Ljava/lang/Object;
.source "WorkQueue.kt"
# annotations
.annotation system Ldalvik/annotation/SourceDebugExtension;
value = "SMAP\nWorkQueue.kt\nKotlin\n*S Kotlin\n*F\n+ 1 WorkQueue.kt\nkotlinx/coroutines/scheduling/WorkQueue\n+ 2 Tasks.kt\nkotlinx/coroutines/scheduling/TasksKt\n+ 3 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,201:1\n88#2:202\n88#2:204\n88#2:205\n88#2:206\n1#3:203\n*E\n*S KotlinDebug\n*F\n+ 1 WorkQueue.kt\nkotlinx/coroutines/scheduling/WorkQueue\n*L\n83#1:202\n129#1:204\n153#1:205\n195#1:206\n*E\n"
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u00006\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0003\n\u0002\u0010\u000b\n\u0002\u0008\u0004\n\u0002\u0010\t\n\u0002\u0008\u0003\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\r\n\u0002\u0010\u0008\n\u0002\u0008\u0008\u0008\u0000\u0018\u00002\u00020\u0001B\u0007\u00a2\u0006\u0004\u0008%\u0010&J\u000f\u0010\u0003\u001a\u0004\u0018\u00010\u0002\u00a2\u0006\u0004\u0008\u0003\u0010\u0004J!\u0010\u0008\u001a\u0004\u0018\u00010\u00022\u0006\u0010\u0005\u001a\u00020\u00022\u0008\u0008\u0002\u0010\u0007\u001a\u00020\u0006\u00a2\u0006\u0004\u0008\u0008\u0010\tJ\u0015\u0010\u000c\u001a\u00020\u000b2\u0006\u0010\n\u001a\u00020\u0000\u00a2\u0006\u0004\u0008\u000c\u0010\rJ\u0015\u0010\u000e\u001a\u00020\u000b2\u0006\u0010\n\u001a\u00020\u0000\u00a2\u0006\u0004\u0008\u000e\u0010\rJ\u0015\u0010\u0012\u001a\u00020\u00112\u0006\u0010\u0010\u001a\u00020\u000f\u00a2\u0006\u0004\u0008\u0012\u0010\u0013J\u0019\u0010\u0014\u001a\u0004\u0018\u00010\u00022\u0006\u0010\u0005\u001a\u00020\u0002H\u0002\u00a2\u0006\u0004\u0008\u0014\u0010\u0015J\u001f\u0010\u0017\u001a\u00020\u000b2\u0006\u0010\n\u001a\u00020\u00002\u0006\u0010\u0016\u001a\u00020\u0006H\u0002\u00a2\u0006\u0004\u0008\u0017\u0010\u0018J\u0017\u0010\u001a\u001a\u00020\u00062\u0006\u0010\u0019\u001a\u00020\u000fH\u0002\u00a2\u0006\u0004\u0008\u001a\u0010\u001bJ\u0011\u0010\u001c\u001a\u0004\u0018\u00010\u0002H\u0002\u00a2\u0006\u0004\u0008\u001c\u0010\u0004J\u0015\u0010\u001d\u001a\u00020\u0011*\u0004\u0018\u00010\u0002H\u0002\u00a2\u0006\u0004\u0008\u001d\u0010\u001eR\u0014\u0010\"\u001a\u00020\u001f8@X\u0080\u0004\u00a2\u0006\u0006\u001a\u0004\u0008 \u0010!R\u0014\u0010$\u001a\u00020\u001f8@X\u0080\u0004\u00a2\u0006\u0006\u001a\u0004\u0008#\u0010!\u00a8\u0006\'"
}
d2 = {
"Luj/n;",
"",
"Luj/i;",
"h",
"()Luj/i;",
"task",
"",
"fair",
"a",
"(Luj/i;Z)Luj/i;",
"victim",
"",
"l",
"(Luj/n;)J",
"k",
"Luj/e;",
"globalQueue",
"Lkotlin/d1;",
"g",
"(Luj/e;)V",
"c",
"(Luj/i;)Luj/i;",
"blockingOnly",
"m",
"(Luj/n;Z)J",
"queue",
"j",
"(Luj/e;)Z",
"i",
"d",
"(Luj/i;)V",
"",
"e",
"()I",
"bufferSize",
"f",
"size",
"<init>",
"()V",
"kotlinx-coroutines-core"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# static fields
.field public static final b:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
.field public static final c:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
.field public static final d:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
.field public static final e:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
# instance fields
.field public final a:Ljava/util/concurrent/atomic/AtomicReferenceArray;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/atomic/AtomicReferenceArray<",
"Luj/i;",
">;"
}
.end annotation
.end field
.field private volatile blockingTasksInBuffer:I
.field private volatile consumerIndex:I
.field private volatile lastScheduledTask:Ljava/lang/Object;
.field private volatile producerIndex:I
# direct methods
.method public static constructor <clinit>()V
.locals 3
const-class v0, Luj/n;
const-class v1, Ljava/lang/Object;
const-string v2, "lastScheduledTask"
invoke-static {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->newUpdater(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
move-result-object v1
sput-object v1, Luj/n;->b:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
const-string v1, "producerIndex"
invoke-static {v0, v1}, Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;->newUpdater(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
move-result-object v1
sput-object v1, Luj/n;->c:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
const-string v1, "consumerIndex"
invoke-static {v0, v1}, Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;->newUpdater(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
move-result-object v1
sput-object v1, Luj/n;->d:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
const-string v1, "blockingTasksInBuffer"
invoke-static {v0, v1}, Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;->newUpdater(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
move-result-object v0
sput-object v0, Luj/n;->e:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
return-void
.end method
.method public constructor <init>()V
.locals 2
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
new-instance v0, Ljava/util/concurrent/atomic/AtomicReferenceArray;
const/16 v1, 0x80
invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicReferenceArray;-><init>(I)V
iput-object v0, p0, Luj/n;->a:Ljava/util/concurrent/atomic/AtomicReferenceArray;
const/4 v0, 0x0
.line 3
iput-object v0, p0, Luj/n;->lastScheduledTask:Ljava/lang/Object;
const/4 v0, 0x0
.line 4
iput v0, p0, Luj/n;->producerIndex:I
.line 5
iput v0, p0, Luj/n;->consumerIndex:I
.line 6
iput v0, p0, Luj/n;->blockingTasksInBuffer:I
return-void
.end method
.method public static synthetic b(Luj/n;Luj/i;ZILjava/lang/Object;)Luj/i;
.locals 0
and-int/lit8 p3, p3, 0x2
if-eqz p3, :cond_0
const/4 p2, 0x0
.line 1
:cond_0
invoke-virtual {p0, p1, p2}, Luj/n;->a(Luj/i;Z)Luj/i;
move-result-object p0
return-object p0
.end method
# virtual methods
.method public final a(Luj/i;Z)Luj/i;
.locals 0
.param p1 # Luj/i;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
if-eqz p2, :cond_0
.line 1
invoke-virtual {p0, p1}, Luj/n;->c(Luj/i;)Luj/i;
move-result-object p1
return-object p1
.line 2
:cond_0
sget-object p2, Luj/n;->b:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
invoke-virtual {p2, p0, p1}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->getAndSet(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Luj/i;
if-eqz p1, :cond_1
.line 3
invoke-virtual {p0, p1}, Luj/n;->c(Luj/i;)Luj/i;
move-result-object p1
return-object p1
:cond_1
const/4 p1, 0x0
return-object p1
.end method
.method public final c(Luj/i;)Luj/i;
.locals 2
.line 1
iget-object v0, p1, Luj/i;->b:Luj/j;
invoke-interface {v0}, Luj/j;->X0()I
move-result v0
const/4 v1, 0x1
if-ne v0, v1, :cond_0
goto :goto_0
:cond_0
const/4 v1, 0x0
:goto_0
if-eqz v1, :cond_1
.line 2
sget-object v0, Luj/n;->e:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
invoke-virtual {v0, p0}, Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;->incrementAndGet(Ljava/lang/Object;)I
.line 3
:cond_1
invoke-virtual {p0}, Luj/n;->e()I
move-result v0
const/16 v1, 0x7f
if-ne v0, v1, :cond_2
return-object p1
.line 4
:cond_2
iget v0, p0, Luj/n;->producerIndex:I
and-int/2addr v0, v1
.line 5
:goto_1
iget-object v1, p0, Luj/n;->a:Ljava/util/concurrent/atomic/AtomicReferenceArray;
invoke-virtual {v1, v0}, Ljava/util/concurrent/atomic/AtomicReferenceArray;->get(I)Ljava/lang/Object;
move-result-object v1
if-eqz v1, :cond_3
.line 6
invoke-static {}, Ljava/lang/Thread;->yield()V
goto :goto_1
.line 7
:cond_3
iget-object v1, p0, Luj/n;->a:Ljava/util/concurrent/atomic/AtomicReferenceArray;
invoke-virtual {v1, v0, p1}, Ljava/util/concurrent/atomic/AtomicReferenceArray;->lazySet(ILjava/lang/Object;)V
.line 8
sget-object p1, Luj/n;->c:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
invoke-virtual {p1, p0}, Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;->incrementAndGet(Ljava/lang/Object;)I
const/4 p1, 0x0
return-object p1
.end method
.method public final d(Luj/i;)V
.locals 1
if-eqz p1, :cond_1
.line 1
iget-object p1, p1, Luj/i;->b:Luj/j;
invoke-interface {p1}, Luj/j;->X0()I
move-result p1
const/4 v0, 0x1
if-ne p1, v0, :cond_0
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
if-eqz v0, :cond_1
.line 2
sget-object p1, Luj/n;->e:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
invoke-virtual {p1, p0}, Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;->decrementAndGet(Ljava/lang/Object;)I
:cond_1
return-void
.end method
.method public final e()I
.locals 2
.line 1
iget v0, p0, Luj/n;->producerIndex:I
iget v1, p0, Luj/n;->consumerIndex:I
sub-int/2addr v0, v1
return v0
.end method
.method public final f()I
.locals 1
.line 1
iget-object v0, p0, Luj/n;->lastScheduledTask:Ljava/lang/Object;
if-eqz v0, :cond_0
invoke-virtual {p0}, Luj/n;->e()I
move-result v0
add-int/lit8 v0, v0, 0x1
goto :goto_0
:cond_0
invoke-virtual {p0}, Luj/n;->e()I
move-result v0
:goto_0
return v0
.end method
.method public final g(Luj/e;)V
.locals 2
.param p1 # Luj/e;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.line 1
sget-object v0, Luj/n;->b:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
const/4 v1, 0x0
invoke-virtual {v0, p0, v1}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->getAndSet(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Luj/i;
if-eqz v0, :cond_0
invoke-virtual {p1, v0}, Lkotlinx/coroutines/internal/u;->a(Ljava/lang/Object;)Z
.line 2
:cond_0
:goto_0
invoke-virtual {p0, p1}, Luj/n;->j(Luj/e;)Z
move-result v0
if-eqz v0, :cond_1
goto :goto_0
:cond_1
return-void
.end method
.method public final h()Luj/i;
.locals 2
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.line 1
sget-object v0, Luj/n;->b:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
const/4 v1, 0x0
invoke-virtual {v0, p0, v1}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->getAndSet(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Luj/i;
if-eqz v0, :cond_0
goto :goto_0
:cond_0
invoke-virtual {p0}, Luj/n;->i()Luj/i;
move-result-object v0
:goto_0
return-object v0
.end method
.method public final i()Luj/i;
.locals 5
.line 1
:cond_0
iget v0, p0, Luj/n;->consumerIndex:I
.line 2
iget v1, p0, Luj/n;->producerIndex:I
sub-int v1, v0, v1
const/4 v2, 0x0
if-nez v1, :cond_1
return-object v2
:cond_1
and-int/lit8 v1, v0, 0x7f
.line 3
sget-object v3, Luj/n;->d:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
add-int/lit8 v4, v0, 0x1
invoke-virtual {v3, p0, v0, v4}, Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;->compareAndSet(Ljava/lang/Object;II)Z
move-result v0
if-eqz v0, :cond_0
.line 4
iget-object v0, p0, Luj/n;->a:Ljava/util/concurrent/atomic/AtomicReferenceArray;
invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicReferenceArray;->getAndSet(ILjava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Luj/i;
if-eqz v0, :cond_0
.line 5
invoke-virtual {p0, v0}, Luj/n;->d(Luj/i;)V
return-object v0
.end method
.method public final j(Luj/e;)Z
.locals 1
.line 1
invoke-virtual {p0}, Luj/n;->i()Luj/i;
move-result-object v0
if-eqz v0, :cond_0
.line 2
invoke-virtual {p1, v0}, Lkotlinx/coroutines/internal/u;->a(Ljava/lang/Object;)Z
const/4 p1, 0x1
return p1
:cond_0
const/4 p1, 0x0
return p1
.end method
.method public final k(Luj/n;)J
.locals 8
.param p1 # Luj/n;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.line 1
iget v0, p1, Luj/n;->consumerIndex:I
.line 2
iget v1, p1, Luj/n;->producerIndex:I
.line 3
iget-object v2, p1, Luj/n;->a:Ljava/util/concurrent/atomic/AtomicReferenceArray;
:goto_0
const/4 v3, 0x1
if-eq v0, v1, :cond_3
and-int/lit8 v4, v0, 0x7f
.line 4
iget v5, p1, Luj/n;->blockingTasksInBuffer:I
if-nez v5, :cond_0
goto :goto_2
.line 5
:cond_0
invoke-virtual {v2, v4}, Ljava/util/concurrent/atomic/AtomicReferenceArray;->get(I)Ljava/lang/Object;
move-result-object v5
check-cast v5, Luj/i;
if-eqz v5, :cond_2
.line 6
iget-object v6, v5, Luj/i;->b:Luj/j;
invoke-interface {v6}, Luj/j;->X0()I
move-result v6
const/4 v7, 0x0
if-ne v6, v3, :cond_1
goto :goto_1
:cond_1
move v3, v7
:goto_1
if-eqz v3, :cond_2
const/4 v3, 0x0
.line 7
invoke-virtual {v2, v4, v5, v3}, Ljava/util/concurrent/atomic/AtomicReferenceArray;->compareAndSet(ILjava/lang/Object;Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_2
.line 8
sget-object v0, Luj/n;->e:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
invoke-virtual {v0, p1}, Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;->decrementAndGet(Ljava/lang/Object;)I
const/4 p1, 0x2
.line 9
invoke-static {p0, v5, v7, p1, v3}, Luj/n;->b(Luj/n;Luj/i;ZILjava/lang/Object;)Luj/i;
const-wide/16 v0, -0x1
return-wide v0
:cond_2
add-int/lit8 v0, v0, 0x1
goto :goto_0
.line 10
:cond_3
:goto_2
invoke-virtual {p0, p1, v3}, Luj/n;->m(Luj/n;Z)J
move-result-wide v0
return-wide v0
.end method
.method public final l(Luj/n;)J
.locals 3
.param p1 # Luj/n;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.line 1
invoke-virtual {p1}, Luj/n;->i()Luj/i;
move-result-object v0
const/4 v1, 0x0
if-eqz v0, :cond_0
const/4 p1, 0x2
const/4 v2, 0x0
.line 2
invoke-static {p0, v0, v1, p1, v2}, Luj/n;->b(Luj/n;Luj/i;ZILjava/lang/Object;)Luj/i;
const-wide/16 v0, -0x1
return-wide v0
.line 3
:cond_0
invoke-virtual {p0, p1, v1}, Luj/n;->m(Luj/n;Z)J
move-result-wide v0
return-wide v0
.end method
.method public final m(Luj/n;Z)J
.locals 7
.line 1
:cond_0
iget-object v0, p1, Luj/n;->lastScheduledTask:Ljava/lang/Object;
check-cast v0, Luj/i;
const-wide/16 v1, -0x2
if-eqz v0, :cond_4
const/4 v3, 0x0
if-eqz p2, :cond_2
.line 2
iget-object v4, v0, Luj/i;->b:Luj/j;
invoke-interface {v4}, Luj/j;->X0()I
move-result v4
const/4 v5, 0x1
if-ne v4, v5, :cond_1
goto :goto_0
:cond_1
move v5, v3
:goto_0
if-nez v5, :cond_2
return-wide v1
.line 3
:cond_2
sget-object v1, Luj/l;->h:Luj/m;
invoke-virtual {v1}, Luj/m;->a()J
move-result-wide v1
.line 4
iget-wide v4, v0, Luj/i;->a:J
sub-long/2addr v1, v4
.line 5
sget-wide v4, Luj/l;->c:J
cmp-long v6, v1, v4
if-gez v6, :cond_3
sub-long/2addr v4, v1
return-wide v4
.line 6
:cond_3
sget-object v1, Luj/n;->b:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
const/4 v2, 0x0
invoke-virtual {v1, p1, v0, v2}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_0
const/4 p1, 0x2
.line 7
invoke-static {p0, v0, v3, p1, v2}, Luj/n;->b(Luj/n;Luj/i;ZILjava/lang/Object;)Luj/i;
const-wide/16 p1, -0x1
return-wide p1
:cond_4
return-wide v1
.end method
+33
View File
@@ -0,0 +1,33 @@
.class public final Luj/o;
.super Ljava/lang/Object;
.source "WorkQueue.kt"
# annotations
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000\u0002\n\u0000\u00a8\u0006\u0000"
}
d2 = {
"kotlinx-coroutines-core"
}
k = 0x2
mv = {
0x1,
0x4,
0x0
}
.end annotation
# static fields
.field public static final a:I = 0x7
.field public static final b:I = 0x80
.field public static final c:I = 0x7f
.field public static final d:J = -0x1L
.field public static final e:J = -0x2L