Offset 22, 29 lines modifiedOffset 22, 29 lines modified
22 ····const-class·v0,·Ljava/util/concurrent/locks/LockSupport;22 ····const-class·v0,·Ljava/util/concurrent/locks/LockSupport;
  
23 ····.line·223 ····.line·2
24 ····new-instance·v0,·Lcom/google/common/util/concurrent/InterruptibleTask$DoNothingRunnable;24 ····new-instance·v0,·Lcom/google/common/util/concurrent/InterruptibleTask$DoNothingRunnable;
  
25 ····const/4·v1,·0x025 ····const/4·v1,·0x0
  
26 ····invoke-direct·{v0,·v1},·Lcom/google/common/util/concurrent/InterruptibleTask$DoNothingRunnable;-><init>(Lcom/google/common/util/concurrent/Uninterruptibles;)V26 ····invoke-direct·{v0,·v1},·Lcom/google/common/util/concurrent/InterruptibleTask$DoNothingRunnable;-><init>(Lcom/google/common/util/concurrent/Futures;)V
  
27 ····sput-object·v0,·Lcom/google/common/util/concurrent/InterruptibleTask;->DONE:Ljava/lang/Runnable;27 ····sput-object·v0,·Lcom/google/common/util/concurrent/InterruptibleTask;->DONE:Ljava/lang/Runnable;
  
28 ····.line·328 ····.line·3
29 ····new-instance·v0,·Lcom/google/common/util/concurrent/InterruptibleTask$DoNothingRunnable;29 ····new-instance·v0,·Lcom/google/common/util/concurrent/InterruptibleTask$DoNothingRunnable;
  
30 ····invoke-direct·{v0,·v1},·Lcom/google/common/util/concurrent/InterruptibleTask$DoNothingRunnable;-><init>(Lcom/google/common/util/concurrent/Uninterruptibles;)V30 ····invoke-direct·{v0,·v1},·Lcom/google/common/util/concurrent/InterruptibleTask$DoNothingRunnable;-><init>(Lcom/google/common/util/concurrent/Futures;)V
  
31 ····sput-object·v0,·Lcom/google/common/util/concurrent/InterruptibleTask;->INTERRUPTING:Ljava/lang/Runnable;31 ····sput-object·v0,·Lcom/google/common/util/concurrent/InterruptibleTask;->INTERRUPTING:Ljava/lang/Runnable;
  
32 ····.line·432 ····.line·4
33 ····new-instance·v0,·Lcom/google/common/util/concurrent/InterruptibleTask$DoNothingRunnable;33 ····new-instance·v0,·Lcom/google/common/util/concurrent/InterruptibleTask$DoNothingRunnable;
  
34 ····invoke-direct·{v0,·v1},·Lcom/google/common/util/concurrent/InterruptibleTask$DoNothingRunnable;-><init>(Lcom/google/common/util/concurrent/Uninterruptibles;)V34 ····invoke-direct·{v0,·v1},·Lcom/google/common/util/concurrent/InterruptibleTask$DoNothingRunnable;-><init>(Lcom/google/common/util/concurrent/Futures;)V
  
35 ····sput-object·v0,·Lcom/google/common/util/concurrent/InterruptibleTask;->PARKED:Ljava/lang/Runnable;35 ····sput-object·v0,·Lcom/google/common/util/concurrent/InterruptibleTask;->PARKED:Ljava/lang/Runnable;
  
36 ····return-void36 ····return-void
37 .end·method37 .end·method
  
38 .method·constructor·<init>()V38 .method·constructor·<init>()V
Offset 142, 17 lines modifiedOffset 142, 14 lines modified
142 ····throw·v1142 ····throw·v1
  
143 ····:cond_1143 ····:cond_1
144 ····:goto_0144 ····:goto_0
145 ····return-void145 ····return-void
146 .end·method146 .end·method
  
147 .method·abstract·isDone()Z 
148 .end·method 
  
149 .method·public·final·run()V147 .method·public·final·run()V
150 ····.locals·12148 ····.locals·12
  
151 ····.line·1149 ····.line·1
152 ····invoke-static·{},·Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;150 ····invoke-static·{},·Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
  
153 ····move-result-object·v0151 ····move-result-object·v0
Offset 166, 99 lines modifiedOffset 163, 106 lines modified
  
166 ····if-nez·v2,·:cond_0163 ····if-nez·v2,·:cond_0
  
167 ····return-void164 ····return-void
  
168 ····.line·3165 ····.line·3
169 ····:cond_0166 ····:cond_0
 167 ····move-object·v2,·p0
  
 168 ····check-cast·v2,·Lcom/google/common/util/concurrent/TrustedListenableFutureTask$TrustedFutureInterruptibleTask;
  
 169 ····.line·4
 170 ····iget-object·v2,·v2,·Lcom/google/common/util/concurrent/TrustedListenableFutureTask$TrustedFutureInterruptibleTask;->this$0:Lcom/google/common/util/concurrent/TrustedListenableFutureTask;
  
170 ····invoke-virtual·{p0},·Lcom/google/common/util/concurrent/InterruptibleTask;->isDone()Z171 ····invoke-virtual·{v2},·Lcom/google/common/util/concurrent/FluentFuture$TrustedFuture;->isDone()Z
  
171 ····move-result·v2172 ····move-result·v2
  
172 ····const/4·v3,·0x1173 ····const/4·v3,·0x1
  
173 ····xor-int/2addr·v2,·v3174 ····xor-int/2addr·v2,·v3
  
174 ····const/16·v4,·0x3e8175 ····const/16·v4,·0x3e8
  
175 ····const/4·v5,·0x0176 ····const/4·v5,·0x0
  
176 ····if-eqz·v2,·:cond_9177 ····if-eqz·v2,·:cond_9
  
177 ····.line·4178 ····.line·5
178 ····:try_start_0179 ····:try_start_0
179 ····invoke-virtual·{p0},·Lcom/google/common/util/concurrent/InterruptibleTask;->runInterruptibly()Ljava/lang/Object;180 ····invoke-virtual·{p0},·Lcom/google/common/util/concurrent/InterruptibleTask;->runInterruptibly()Ljava/lang/Object;
  
180 ····move-result-object·v6181 ····move-result-object·v6
181 ····:try_end_0182 ····:try_end_0
182 ····.catchall·{:try_start_0·..·:try_end_0}·:catchall_0183 ····.catchall·{:try_start_0·..·:try_end_0}·:catchall_0
  
183 ····goto·:goto_6184 ····goto·:goto_6
  
184 ····:catchall_0185 ····:catchall_0
185 ····move-exception·v6186 ····move-exception·v6
  
186 ····.line·5187 ····.line·6
187 ····sget-object·v7,·Lcom/google/common/util/concurrent/InterruptibleTask;->DONE:Ljava/lang/Runnable;188 ····sget-object·v7,·Lcom/google/common/util/concurrent/InterruptibleTask;->DONE:Ljava/lang/Runnable;
  
188 ····invoke-virtual·{p0,·v0,·v7},·Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z189 ····invoke-virtual·{p0,·v0,·v7},·Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z
  
189 ····move-result·v7190 ····move-result·v7
  
190 ····if-nez·v7,·:cond_8191 ····if-nez·v7,·:cond_8
  
191 ····.line·6192 ····.line·7
192 ····invoke-virtual·{p0},·Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;193 ····invoke-virtual·{p0},·Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
  
193 ····move-result-object·v7194 ····move-result-object·v7
  
194 ····check-cast·v7,·Ljava/lang/Runnable;195 ····check-cast·v7,·Ljava/lang/Runnable;
  
195 ····move·v8,·v5196 ····move·v8,·v5
  
196 ····move·v9,·v8197 ····move·v9,·v8
  
197 ····.line·7198 ····.line·8
198 ····:goto_0199 ····:goto_0
199 ····sget-object·v10,·Lcom/google/common/util/concurrent/InterruptibleTask;->INTERRUPTING:Ljava/lang/Runnable;200 ····sget-object·v10,·Lcom/google/common/util/concurrent/InterruptibleTask;->INTERRUPTING:Ljava/lang/Runnable;
  
200 ····if-eq·v7,·v10,·:cond_2201 ····if-eq·v7,·v10,·:cond_2
  
201 ····sget-object·v11,·Lcom/google/common/util/concurrent/InterruptibleTask;->PARKED:Ljava/lang/Runnable;202 ····sget-object·v11,·Lcom/google/common/util/concurrent/InterruptibleTask;->PARKED:Ljava/lang/Runnable;
  
202 ····if-ne·v7,·v11,·:cond_1203 ····if-ne·v7,·v11,·:cond_1
  
203 ····goto·:goto_1204 ····goto·:goto_1
  
204 ····:cond_1205 ····:cond_1
205 ····if-eqz·v8,·:cond_8206 ····if-eqz·v8,·:cond_8
  
206 ····.line·8207 ····.line·9
207 ····invoke-virtual·{v0},·Ljava/lang/Thread;->interrupt()V208 ····invoke-virtual·{v0},·Ljava/lang/Thread;->interrupt()V
  
208 ····goto·:goto_5209 ····goto·:goto_5
  
209 ····:cond_2210 ····:cond_2
210 ····:goto_1211 ····:goto_1
211 ····add-int/2addr·v9,·v3212 ····add-int/2addr·v9,·v3
  
212 ····if-le·v9,·v4,·:cond_6213 ····if-le·v9,·v4,·:cond_6
  
213 ····.line·9214 ····.line·10
214 ····sget-object·v11,·Lcom/google/common/util/concurrent/InterruptibleTask;->PARKED:Ljava/lang/Runnable;215 ····sget-object·v11,·Lcom/google/common/util/concurrent/InterruptibleTask;->PARKED:Ljava/lang/Runnable;
  
215 ····if-eq·v7,·v11,·:cond_3216 ····if-eq·v7,·v11,·:cond_3
  
216 ····invoke-virtual·{p0,·v10,·v11},·Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z217 ····invoke-virtual·{p0,·v10,·v11},·Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z
  
217 ····move-result·v7218 ····move-result·v7
  
218 ····if-eqz·v7,·:cond_7219 ····if-eqz·v7,·:cond_7
  
219 ····.line·10220 ····.line·11
220 ····:cond_3221 ····:cond_3
221 ····invoke-static·{},·Ljava/lang/Thread;->interrupted()Z222 ····invoke-static·{},·Ljava/lang/Thread;->interrupted()Z
  
222 ····move-result·v7223 ····move-result·v7
  
223 ····if-nez·v7,·:cond_5224 ····if-nez·v7,·:cond_5
  
Offset 271, 106 lines modifiedOffset 275, 106 lines modified
  
271 ····goto·:goto_3275 ····goto·:goto_3
  
272 ····:cond_5276 ····:cond_5
273 ····:goto_2277 ····:goto_2
274 ····move·v8,·v3278 ····move·v8,·v3
  
275 ····.line·11279 ····.line·12
276 ····:goto_3280 ····:goto_3
277 ····invoke-static·{p0},·Ljava/util/concurrent/locks/LockSupport;->park(Ljava/lang/Object;)V281 ····invoke-static·{p0},·Ljava/util/concurrent/locks/LockSupport;->park(Ljava/lang/Object;)V
  
278 ····goto·:goto_4282 ····goto·:goto_4
  
279 ····.line·12283 ····.line·13
280 ····:cond_6284 ····:cond_6
281 ····invoke-static·{},·Ljava/lang/Thread;->yield()V285 ····invoke-static·{},·Ljava/lang/Thread;->yield()V
  
282 ····.line·13286 ····.line·14
283 ····:cond_7287 ····:cond_7
284 ····:goto_4288 ····:goto_4
285 ····invoke-virtual·{p0},·Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;289 ····invoke-virtual·{p0},·Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
  
286 ····move-result-object·v7290 ····move-result-object·v7
  
287 ····check-cast·v7,·Ljava/lang/Runnable;291 ····check-cast·v7,·Ljava/lang/Runnable;
  
288 ····goto·:goto_0292 ····goto·:goto_0
  
289 ····:cond_8293 ····:cond_8
290 ····:goto_5294 ····:goto_5
291 ····if-eqz·v2,·:cond_12295 ····if-eqz·v2,·:cond_12
  
292 ····.line·14296 ····.line·15
293 ····invoke-virtual·{p0,·v1,·v6},·Lcom/google/common/util/concurrent/InterruptibleTask;->afterRanInterruptibly(Ljava/lang/Object;Ljava/lang/Throwable;)V297 ····invoke-virtual·{p0,·v1,·v6},·Lcom/google/common/util/concurrent/InterruptibleTask;->afterRanInterruptibly(Ljava/lang/Object;Ljava/lang/Throwable;)V
  
294 ····goto·:goto_d298 ····goto·:goto_d
  
295 ····:cond_9299 ····:cond_9
296 ····move-object·v6,·v1300 ····move-object·v6,·v1
  
297 ····.line·15301 ····.line·16
298 ····:goto_6302 ····:goto_6
299 ····sget-object·v7,·Lcom/google/common/util/concurrent/InterruptibleTask;->DONE:Ljava/lang/Runnable;303 ····sget-object·v7,·Lcom/google/common/util/concurrent/InterruptibleTask;->DONE:Ljava/lang/Runnable;
  
300 ····invoke-virtual·{p0,·v0,·v7},·Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z304 ····invoke-virtual·{p0,·v0,·v7},·Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z
  
301 ····move-result·v7305 ····move-result·v7
  
302 ····if-nez·v7,·:cond_11306 ····if-nez·v7,·:cond_11
  
303 ····.line·16307 ····.line·17
304 ····invoke-virtual·{p0},·Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;308 ····invoke-virtual·{p0},·Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
  
305 ····move-result-object·v7309 ····move-result-object·v7
  
306 ····check-cast·v7,·Ljava/lang/Runnable;310 ····check-cast·v7,·Ljava/lang/Runnable;
  
307 ····move·v8,·v5311 ····move·v8,·v5
  
308 ····move·v9,·v8312 ····move·v9,·v8
  
309 ····.line·17313 ····.line·18
310 ····:goto_7314 ····:goto_7
311 ····sget-object·v10,·Lcom/google/common/util/concurrent/InterruptibleTask;->INTERRUPTING:Ljava/lang/Runnable;315 ····sget-object·v10,·Lcom/google/common/util/concurrent/InterruptibleTask;->INTERRUPTING:Ljava/lang/Runnable;
  
312 ····if-eq·v7,·v10,·:cond_b316 ····if-eq·v7,·v10,·:cond_b
  
313 ····sget-object·v11,·Lcom/google/common/util/concurrent/InterruptibleTask;->PARKED:Ljava/lang/Runnable;317 ····sget-object·v11,·Lcom/google/common/util/concurrent/InterruptibleTask;->PARKED:Ljava/lang/Runnable;
  
314 ····if-ne·v7,·v11,·:cond_a318 ····if-ne·v7,·v11,·:cond_a
  
315 ····goto·:goto_8319 ····goto·:goto_8
  
316 ····:cond_a320 ····:cond_a
317 ····if-eqz·v8,·:cond_11321 ····if-eqz·v8,·:cond_11
  
318 ····.line·18322 ····.line·19
319 ····invoke-virtual·{v0},·Ljava/lang/Thread;->interrupt()V323 ····invoke-virtual·{v0},·Ljava/lang/Thread;->interrupt()V
  
320 ····goto·:goto_c324 ····goto·:goto_c
  
321 ····:cond_b325 ····:cond_b
322 ····:goto_8326 ····:goto_8
323 ····add-int/2addr·v9,·v3327 ····add-int/2addr·v9,·v3
  
324 ····if-le·v9,·v4,·:cond_f328 ····if-le·v9,·v4,·:cond_f
  
325 ····.line·19329 ····.line·20
326 ····sget-object·v11,·Lcom/google/common/util/concurrent/InterruptibleTask;->PARKED:Ljava/lang/Runnable;330 ····sget-object·v11,·Lcom/google/common/util/concurrent/InterruptibleTask;->PARKED:Ljava/lang/Runnable;
  
327 ····if-eq·v7,·v11,·:cond_c331 ····if-eq·v7,·v11,·:cond_c
  
328 ····invoke-virtual·{p0,·v10,·v11},·Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z332 ····invoke-virtual·{p0,·v10,·v11},·Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z
  
329 ····move-result·v7333 ····move-result·v7
  
330 ····if-eqz·v7,·:cond_10334 ····if-eqz·v7,·:cond_10
  
331 ····.line·20335 ····.line·21
332 ····:cond_c336 ····:cond_c
333 ····invoke-static·{},·Ljava/lang/Thread;->interrupted()Z337 ····invoke-static·{},·Ljava/lang/Thread;->interrupted()Z
  
334 ····move-result·v7338 ····move-result·v7
  
335 ····if-nez·v7,·:cond_e339 ····if-nez·v7,·:cond_e
  
Offset 383, 40 lines modifiedOffset 387, 40 lines modified
  
383 ····goto·:goto_a387 ····goto·:goto_a
  
384 ····:cond_e388 ····:cond_e
385 ····:goto_9389 ····:goto_9
386 ····move·v8,·v3390 ····move·v8,·v3
  
387 ····.line·21391 ····.line·22
388 ····:goto_a392 ····:goto_a
389 ····invoke-static·{p0},·Ljava/util/concurrent/locks/LockSupport;->park(Ljava/lang/Object;)V393 ····invoke-static·{p0},·Ljava/util/concurrent/locks/LockSupport;->park(Ljava/lang/Object;)V
  
390 ····goto·:goto_b394 ····goto·:goto_b
  
391 ····.line·22395 ····.line·23
392 ····:cond_f396 ····:cond_f
393 ····invoke-static·{},·Ljava/lang/Thread;->yield()V397 ····invoke-static·{},·Ljava/lang/Thread;->yield()V
  
394 ····.line·23398 ····.line·24
395 ····:cond_10399 ····:cond_10
396 ····:goto_b400 ····:goto_b
397 ····invoke-virtual·{p0},·Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;401 ····invoke-virtual·{p0},·Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
  
398 ····move-result-object·v7402 ····move-result-object·v7
  
399 ····check-cast·v7,·Ljava/lang/Runnable;403 ····check-cast·v7,·Ljava/lang/Runnable;
  
400 ····goto·:goto_7404 ····goto·:goto_7
  
401 ····:cond_11405 ····:cond_11
402 ····:goto_c406 ····:goto_c
403 ····if-eqz·v2,·:cond_12407 ····if-eqz·v2,·:cond_12
  
404 ····.line·24408 ····.line·25
405 ····invoke-virtual·{p0,·v6,·v1},·Lcom/google/common/util/concurrent/InterruptibleTask;->afterRanInterruptibly(Ljava/lang/Object;Ljava/lang/Throwable;)V409 ····invoke-virtual·{p0,·v6,·v1},·Lcom/google/common/util/concurrent/InterruptibleTask;->afterRanInterruptibly(Ljava/lang/Object;Ljava/lang/Throwable;)V
  
406 ····:cond_12410 ····:cond_12
407 ····:goto_d411 ····:goto_d
408 ····return-void412 ····return-void
409 .end·method413 .end·method