   0  residual_call_r_r $<* fn get_nonmovingbuffer>, R[%r1], <CallDescr(r) EF=5> -> %r2
   7  -live- %r0, %r1, %r2
   7  getfield_gc_i_pure %r2, FieldDescr<tuple2.item0> -> %i3
  12  getfield_gc_i_pure %r2, FieldDescr<tuple2.item1> -> %i4
  17  getfield_gc_r %r0, FieldDescr<pypy.module._hashlib.interp_hashlib.W_Hash.inst_lock> -> %r3
  22  inline_call_r_r <JitCode 'Lock.__enter__'>, R[%r3] -> %r2
  28  -live- %i3, %i4, %r0, %r1, %r3
  28  catch_exception L1
  31  int_copy %i3 -> %i0
  34  getfield_gc_i %r0, FieldDescr<pypy.module._hashlib.interp_hashlib.W_Hash.inst_ctx> -> %i1
  39  strlen %r1 -> %i2
  42  inline_call_ir_i <JitCode 'EVP_DigestUpdate__EVP_MD_CTXPtr_arrayPtr_Signed_star_3'>, I[%i1, %i0, %i2], R[] -> %i0
  51  -live- %i3, %i4, %r1, %r3
  51  catch_exception L2
  54  inline_call_r_v <JitCode '__exit____star_3'>, R[%r3, $<* struct exceptions.Exception>, $<* struct exceptions.Exception>]
  61  -live- %i3, %i4, %r1
  61  catch_exception L3
  64  residual_call_ir_v $<* fn free_nonmovingbuffer>, I[%i3, %i4], R[%r1], <CallDescr(rii) EF=2>
  73  void_return
  74  ---
  74  L3:
  74  last_exception -> %i0
  76  last_exc_value -> %r0
  78  L4:
  78  residual_call_ir_v $<* fn free_nonmovingbuffer>, I[%i3, %i4], R[%r1], <CallDescr(rii) EF=2>
  87  -live- %r0
  87  raise %r0
  89  ---
  89  L2:
  89  last_exception -> %i0
  91  last_exc_value -> %r0
  93  inline_call_r_v <JitCode '__exit____star_3'>, R[%r3, %r0, %r0]
 100  -live- %i3, %i4, %r0, %r1
 100  catch_exception L5
 103  residual_call_ir_v $<* fn free_nonmovingbuffer>, I[%i3, %i4], R[%r1], <CallDescr(rii) EF=2>
 112  -live- %r0
 112  raise %r0
 114  ---
 114  L5:
 114  last_exception -> %i0
 116  last_exc_value -> %r0
 118  goto L4
 121  ---
 121  L1:
 121  last_exception -> %i0
 123  last_exc_value -> %r0
 125  goto L4
