   0  inline_call_r_r <JitCode 'W_UnicodeObject._unwrap_and_compute_idx_params'>, R[%r0, %r2, %r3] -> %r2
   8  -live- %r0, %r1, %r2
  11  getfield_gc_i_pure %r2, FieldDescr<tuple2.item0> -> %i3
  16  getfield_gc_i_pure %r2, FieldDescr<tuple2.item1> -> %i2
  21  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r3
  26  -live- %i2, %i3, %r0, %r1, %r3
  29  guard_class %r1 -> %i0
  32  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i1
  37  int_between $TotalOrderSymbolic('compute_fn'), %i1, $TotalOrderSymbolic('compute_fn') -> %i1
  42  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r3
  45  goto_if_not %i1, L1
  49  L2:
  49  residual_call_ir_r $<* fn W_UnicodeObject._endswith_tuple>, I[%i3, %i2], R[%r0, %r3, %r1], <CallDescr(rrrii) EF=7> -> %r2
  61  -live- %r2
  64  ref_return %r2
  66  ---
  66  L1:
  66  ref_copy %r1 -> %r2
  69  -live- %i0, %i2, %i3, %r0, %r1, %r2, %r3
  72  int_guard_value %i0
  74  -live- %i2, %i3, %r0, %r1, %r2, %r3
  77  guard_class %r2 -> %i0
  80  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i0
  85  -live- %i0, %i2, %i3, %r0, %r1, %r3
  88  switch %i0, <SwitchDictDescr 0:L3, 1:L4, 2:L5, 3:L6>
  92  unreachable
  93  ---
  93  L3:
  93  -live- %i2, %i3, %r0, %r1, %r3
  96  guard_class %r1 -> %i0
  99  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls__get_mapdict_map> -> %i0
 104  -live- %i0, %i2, %i3, %r0, %r1, %r3
 107  int_guard_value %i0
 109  residual_call_r_r %i0, <IndirectCallTargets>, R[%r1], <CallDescr(r) EF=2> -> %r2
 116  -live- %i2, %i3, %r0, %r1, %r2, %r3
 119  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r2
 124  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_w_cls> -> %r2
 129  L7:
 129  inline_call_r_i <JitCode 'W_TypeObject.issubtype'>, R[%r2, $<* struct pypy.objspace.std.typeobject.W_TypeObject>] -> %i0
 136  -live- %i0, %i2, %i3, %r0, %r1, %r3
 139  goto_if_not %i0, L8
 143  goto L2
 146  ---
 146  L8:
 146  inline_call_r_r <JitCode 'convert_arg_to_w_unicode'>, R[%r1, $<* struct rpy_string>] -> %r2
 153  -live- %i2, %i3, %r2, %r3
 156  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r2
 161  strlen %r2 -> %i0
 164  -live- %i0, %i2, %i3, %r2, %r3
 167  goto_if_not_int_is_zero %i0, L9
 171  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
 173  ---
 173  L9:
 173  residual_call_ir_i $<* fn endswith__str_str>, I[%i3, %i2], R[%r3, %r2], <CallDescr(rrii) EF=4> -> %i0
 184  -live- %i0
 187  goto_if_not %i0, L10
 191  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
 193  ---
 193  L10:
 193  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
 195  ---
 195  L4:
 195  -live- %i2, %i3, %r0, %r1, %r3
 198  getfield_gc_r %r1, FieldDescr<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable.inst_map> -> %r2
 203  -live- %i2, %i3, %r0, %r1, %r2, %r3
 206  ref_guard_value %r2
 208  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r2
 213  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_w_cls> -> %r2
 218  goto L7
 221  ---
 221  L5:
 221  -live- %i2, %i3, %r0, %r1, %r3
 224  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.proxyobject.W_Transparent.inst_w_type> -> %r2
 229  goto L7
 232  ---
 232  L6:
 232  -live- %i2, %i3, %r0, %r1, %r3
 235  guard_class %r1 -> %i0
 238  getfield_raw_r %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.pbc2internal_memofield_gettypefor_3> -> %r2
 243  goto L7
