   0  -live- %r0
   0  goto_if_not_ptr_nonzero %r0, L1
   4  ref_copy %r0 -> %r1
   7  -live- %r0, %r1
   7  guard_class %r1 -> %i0
  10  -live- %i0, %r0
  10  goto_if_not_int_eq %i0, $<* struct object_vtable>, L2
  15  getfield_gc_r_pure %r0, FieldDescr<pypy.module.thread.os_lock.Lock.inst_lock> -> %r1
  20  inline_call_ir_i <JitCode 'Lock.acquire'>, I[$False], R[%r1] -> %i0
  28  -live- %i0, %r0
  28  -live- %i0, %r0
  28  goto_if_not %i0, L3
  32  getfield_gc_r_pure %r0, FieldDescr<pypy.module.thread.os_lock.Lock.inst_lock> -> %r1
  37  getfield_gc_i_pure %r1, FieldDescr<rpython.rlib.rthread.Lock.inst__lock> -> %i0
  42  residual_call_ir_i $<* fn RPyThreadReleaseLock>, I[%i0], R[], <CallDescr(i) EF=2> -> %i0
  50  -live- %i0
  50  goto_if_not_int_is_true %i0, L4
  54  raise $<* struct object>
  56  ---
  56  L4:
  56  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
  58  ---
  58  L3:
  58  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
  60  ---
  60  L2:
  60  L5:
  60  -live- %r0
  60  guard_class %r0 -> %i0
  63  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i0
  68  -live- %i0, %r0
  68  int_guard_value %i0
  70  residual_call_r_r %i0, <IndirectCallTargets>, R[%r0], <CallDescr(r) EF=2> -> %r1
  77  -live- %r1
  77  inline_call_r_r <JitCode 'oefmt____s__object_expected__got___N__instead_star_2'>, R[$<* struct pypy.objspace.std.typeobject.W_TypeObject>, $<* struct rpy_string>, $<* struct rpy_string>, %r1] -> %r1
  86  -live- %r1
  86  -live- %r1
  86  guard_class %r1 -> %i0
  89  -live- %r1
  89  raise %r1
  91  ---
  91  L1:
  91  goto L5
