   0  getfield_gc_i %r0, FieldDescr<pypy.module._socket.interp_socket.W_Socket.inst_usecount> -> %i0
   5  int_sub %i0, $1 -> %i0
   9  setfield_gc_i %r0, %i0, FieldDescr<pypy.module._socket.interp_socket.W_Socket.inst_usecount>
  14  -live- %i0, %r0
  14  goto_if_not_int_gt %i0, $0, L1
  19  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
  21  ---
  21  L1:
  21  getfield_gc_r %r0, FieldDescr<pypy.module._socket.interp_socket.W_Socket.inst_sock> -> %r1
  26  residual_call_r_v $<* fn RSocket.close>, R[%r1], <CallDescr(r) EF=5>
  32  -live- %r0
  32  catch_exception L2
  35  L3:
  35  -live- %r0
  35  guard_class %r0 -> %i0
  38  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i0
  43  getfield_raw_i %i0, FieldDescr<specfunc.variant0> -> %i0
  48  -live- %i0, %r0
  48  int_guard_value %i0
  50  residual_call_r_r %i0, <IndirectCallTargets>, R[%r0], <CallDescr(r) EF=2> -> %r1
  57  -live- %r0, %r1
  57  getfield_gc_i_pure %r1, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.inst_hasuserdel> -> %i0
  62  -live- %i0, %r0
  62  goto_if_not %i0, L4
  66  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
  68  ---
  68  L4:
  68  residual_call_r_v $<* fn may_ignore_finalizer__pypy_interpreter_baseobjspace_W_Root>, R[%r0], <CallDescr(r) EF=2>
  74  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
  76  ---
  76  L2:
  76  goto_if_exception_mismatch $<* struct object_vtable>, L5
  80  goto L3
  83  ---
  83  L5:
  83  reraise
