   0  getfield_gc_i %r0, FieldDescr<pypy.module.array.interp_array.W_ArrayBase.inst_len> -> %i0
   5  -live- %i0, %r0
   5  goto_if_not_int_is_zero %i0, L1
   9  -live- %r0
   9  guard_class %r0 -> %i0
  12  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_typecode> -> %i0
  17  new_array_clear $3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018e892138> -> %r0
  22  setarrayitem_gc_r %r0, $0, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018e892138>
  28  newstr $1 -> %r1
  31  strsetitem %r1, $0, %i0
  35  setarrayitem_gc_r %r0, $1, %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018e892138>
  41  setarrayitem_gc_r %r0, $2, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018e892138>
  47  ref_isvirtual %r0 -> %i0
  50  -live- %i0, %r0
  50  goto_if_not %i0, L2
  54  inline_call_ir_r <JitCode 'll_join_strs__v1222___simple_call__function_'>, I[$3], R[%r0] -> %r1
  62  -live- %r1
  62  L3:
  62  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000000174027cc8> -> %r0
  66  setfield_gc_r %r0, %r1, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
  71  ref_return %r0
  73  ---
  73  L2:
  73  int_isconstant $3 -> %i0
  76  -live- %i0, %r0
  76  goto_if_not %i0, L4
  80  L5:
  80  residual_call_ir_r $<* fn ll_join_strs_trampoline__v1224___simple_call__function_>, I[$3], R[%r0], <CallDescr(ir) EF=5> -> %r1
  89  -live- %r1
  89  goto L3
  92  ---
  92  L4:
  92  goto L5
  95  ---
  95  L1:
  95  -live- %r0
  95  guard_class %r0 -> %i0
  98  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_typecode> -> %i0
 103  -live- %i0, %r0
 103  goto_if_not_int_eq %i0, $'c', L6
 108  inline_call_r_r <JitCode 'W_ArrayBase.descr_tostring'>, R[%r0] -> %r1
 114  -live- %r0, %r1
 114  inline_call_r_r <JitCode 'repr'>, R[%r1] -> %r1
 120  -live- %r0, %r1
 120  -live- %r0, %r1
 120  guard_class %r0 -> %i0
 123  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_typecode> -> %i1
 128  -live- %i1, %r1
 128  guard_class %r1 -> %i0
 131  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_str_w> -> %i0
 136  -live- %i0, %i1, %r1
 136  switch %i0, <SwitchDictDescr 0:L7, 1:L8, 2:L9>
 140  unreachable
 141  ---
 141  L7:
 141  -live- %i1, %r1
 141  inline_call_r_r <JitCode 'W_UnicodeObject.str_w'>, R[%r1] -> %r2
 147  -live- %i1, %r2
 147  L10:
 147  new_array_clear $5, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018e892138> -> %r0
 152  setarrayitem_gc_r %r0, $0, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018e892138>
 158  newstr $1 -> %r1
 161  strsetitem %r1, $0, %i1
 165  setarrayitem_gc_r %r0, $1, %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018e892138>
 171  setarrayitem_gc_r %r0, $2, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018e892138>
 177  -live- %r0, %r2
 177  goto_if_not_ptr_nonzero %r2, L11
 181  L12:
 181  setarrayitem_gc_r %r0, $3, %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018e892138>
 187  setarrayitem_gc_r %r0, $4, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018e892138>
 193  ref_isvirtual %r0 -> %i0
 196  -live- %i0, %r0
 196  goto_if_not %i0, L13
 200  inline_call_ir_r <JitCode 'll_join_strs__v1222___simple_call__function_'>, I[$5], R[%r0] -> %r1
 208  -live- %r1
 208  L14:
 208  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000000174027cc8> -> %r0
 212  setfield_gc_r %r0, %r1, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 217  ref_return %r0
 219  ---
 219  L13:
 219  int_isconstant $5 -> %i0
 222  -live- %i0, %r0
 222  goto_if_not %i0, L15
 226  L16:
 226  residual_call_ir_r $<* fn ll_join_strs_trampoline__v1224___simple_call__function_>, I[$5], R[%r0], <CallDescr(ir) EF=5> -> %r1
 235  -live- %r1
 235  goto L14
 238  ---
 238  L15:
 238  goto L16
 241  ---
 241  L11:
 241  ref_copy $<* struct rpy_string> -> %r2
 244  goto L12
 247  ---
 247  L8:
 247  -live- %i1, %r1
 247  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value> -> %r2
 252  goto L10
 255  ---
 255  L9:
 255  -live- %r1
 255  inline_call_r_r <JitCode 'oefmt__expected__s__got__T_object_star_2'>, R[$<* struct pypy.objspace.std.typeobject.W_TypeObject>, $<* struct rpy_string>, $<* struct rpy_string>, %r1] -> %r2
 264  -live- %r2
 264  assert_not_none %r2
 266  -live- %r2
 266  guard_class %r2 -> %i1
 269  -live- %r2
 269  raise %r2
 271  ---
 271  L6:
 271  -live- %r0
 271  guard_class %r0 -> %i0
 274  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_typecode> -> %i0
 279  -live- %i0, %r0
 279  goto_if_not_int_eq %i0, $'u', L17
 284  inline_call_r_r <JitCode 'W_ArrayBase.descr_tounicode'>, R[%r0] -> %r1
 290  -live- %r0, %r1
 290  catch_exception L18
 293  inline_call_r_r <JitCode 'repr'>, R[%r1] -> %r1
 299  -live- %r0, %r1
 299  -live- %r0, %r1
 299  guard_class %r1 -> %i0
 302  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_str_w> -> %i0
 307  -live- %i0, %r0, %r1
 307  switch %i0, <SwitchDictDescr 0:L19, 1:L20, 2:L21>
 311  unreachable
 312  ---
 312  L19:
 312  -live- %r0, %r1
 312  inline_call_r_r <JitCode 'W_UnicodeObject.str_w'>, R[%r1] -> %r1
 318  -live- %r0, %r1
 318  L22:
 318  -live- %r0, %r1
 318  guard_class %r0 -> %i0
 321  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_typecode> -> %i0
 326  new_array_clear $5, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018e892138> -> %r2
 331  setarrayitem_gc_r %r2, $0, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018e892138>
 337  newstr $1 -> %r0
 340  strsetitem %r0, $0, %i0
 344  setarrayitem_gc_r %r2, $1, %r0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018e892138>
 350  setarrayitem_gc_r %r2, $2, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018e892138>
 356  -live- %r1, %r2
 356  goto_if_not_ptr_nonzero %r1, L23
 360  L24:
 360  setarrayitem_gc_r %r2, $3, %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018e892138>
 366  setarrayitem_gc_r %r2, $4, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018e892138>
 372  ref_isvirtual %r2 -> %i0
 375  -live- %i0, %r2
 375  goto_if_not %i0, L25
 379  inline_call_ir_r <JitCode 'll_join_strs__v1222___simple_call__function_'>, I[$5], R[%r2] -> %r1
 387  -live- %r1
 387  L26:
 387  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000000174027cc8> -> %r0
 391  setfield_gc_r %r0, %r1, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 396  ref_return %r0
 398  ---
 398  L25:
 398  int_isconstant $5 -> %i0
 401  -live- %i0, %r2
 401  goto_if_not %i0, L27
 405  L28:
 405  residual_call_ir_r $<* fn ll_join_strs_trampoline__v1224___simple_call__function_>, I[$5], R[%r2], <CallDescr(ir) EF=5> -> %r1
 414  -live- %r1
 414  goto L26
 417  ---
 417  L27:
 417  goto L28
 420  ---
 420  L23:
 420  ref_copy $<* struct rpy_string> -> %r1
 423  goto L24
 426  ---
 426  L20:
 426  -live- %r0, %r1
 426  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value> -> %r1
 431  goto L22
 434  ---
 434  L21:
 434  -live- %r1
 434  inline_call_r_r <JitCode 'oefmt__expected__s__got__T_object_star_2'>, R[$<* struct pypy.objspace.std.typeobject.W_TypeObject>, $<* struct rpy_string>, $<* struct rpy_string>, %r1] -> %r2
 443  -live- %r2
 443  assert_not_none %r2
 445  -live- %r2
 445  guard_class %r2 -> %i1
 448  -live- %r2
 448  raise %r2
 450  ---
 450  L18:
 450  goto_if_exception_mismatch $<* struct object_vtable>, L29
 454  last_exception -> %i1
 456  last_exc_value -> %r2
 458  getfield_gc_r %r2, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type> -> %r1
 463  inline_call_r_i <JitCode 'exception_match'>, R[%r1, $<* struct pypy.interpreter.baseobjspace.W_Root>] -> %i0
 470  -live- %i0, %r0, %r2
 470  -live- %i0, %r0, %r2
 470  goto_if_not %i0, L30
 474  getfield_gc_r %r2, FieldDescr<pypy.interpreter.error.OperationError.inst__w_value> -> %r3
 479  -live- %r0, %r2, %r3
 479  goto_if_not_ptr_iszero %r3, L31
 483  -live- %r0, %r2
 483  guard_class %r2 -> %i0
 486  getfield_raw_i %i0, FieldDescr<pypy.interpreter.error.OperationError_vtable.cls__compute_value> -> %i0
 491  -live- %i0, %r0, %r2
 491  int_guard_value %i0
 493  residual_call_r_r %i0, <IndirectCallTargets>, R[%r2], <CallDescr(r) EF=7> -> %r1
 500  -live- %r0, %r1, %r2
 500  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000000174027cc8> -> %r3
 504  setfield_gc_r %r3, %r1, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 509  setfield_gc_r %r2, %r3, FieldDescr<pypy.interpreter.error.OperationError.inst__w_value>
 514  L32:
 514  -live- %r0, %r3
 514  guard_class %r3 -> %i0
 517  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_str_w> -> %i0
 522  -live- %i0, %r0, %r3
 522  switch %i0, <SwitchDictDescr 0:L33, 1:L34, 2:L35>
 526  unreachable
 527  ---
 527  L33:
 527  -live- %r0, %r3
 527  inline_call_r_r <JitCode 'W_UnicodeObject.str_w'>, R[%r3] -> %r2
 533  -live- %r0, %r2
 533  L36:
 533  new_array_clear $3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018e892138> -> %r1
 538  setarrayitem_gc_r %r1, $0, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018e892138>
 544  -live- %r0, %r1, %r2
 544  goto_if_not_ptr_nonzero %r2, L37
 548  L38:
 548  setarrayitem_gc_r %r1, $1, %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018e892138>
 554  setarrayitem_gc_r %r1, $2, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018e892138>
 560  ref_isvirtual %r1 -> %i0
 563  -live- %i0, %r0, %r1
 563  goto_if_not %i0, L39
 567  inline_call_ir_r <JitCode 'll_join_strs__v1222___simple_call__function_'>, I[$3], R[%r1] -> %r1
 575  -live- %r0, %r1
 575  goto L22
 578  ---
 578  L39:
 578  int_isconstant $3 -> %i0
 581  -live- %i0, %r0, %r1
 581  goto_if_not %i0, L40
 585  L41:
 585  residual_call_ir_r $<* fn ll_join_strs_trampoline__v1224___simple_call__function_>, I[$3], R[%r1], <CallDescr(ir) EF=5> -> %r1
 594  -live- %r0, %r1
 594  goto L22
 597  ---
 597  L40:
 597  goto L41
 600  ---
 600  L37:
 600  ref_copy $<* struct rpy_string> -> %r2
 603  goto L38
 606  ---
 606  L34:
 606  -live- %r0, %r3
 606  getfield_gc_r_pure %r3, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value> -> %r2
 611  goto L36
 614  ---
 614  L35:
 614  -live- %r3
 614  inline_call_r_r <JitCode 'oefmt__expected__s__got__T_object_star_2'>, R[$<* struct pypy.objspace.std.typeobject.W_TypeObject>, $<* struct rpy_string>, $<* struct rpy_string>, %r3] -> %r2
 623  -live- %r2
 623  assert_not_none %r2
 625  -live- %r2
 625  guard_class %r2 -> %i1
 628  -live- %r2
 628  raise %r2
 630  ---
 630  L31:
 630  goto L32
 633  ---
 633  L30:
 633  -live- %r2
 633  raise %r2
 635  ---
 635  L29:
 635  reraise
 636  ---
 636  L17:
 636  residual_call_r_r $<* fn W_ArrayBase.descr_tolist>, R[%r0], <CallDescr(r) EF=7> -> %r1
 643  -live- %r0, %r1
 643  inline_call_r_r <JitCode 'repr'>, R[%r1] -> %r1
 649  -live- %r0, %r1
 649  -live- %r0, %r1
 649  guard_class %r0 -> %i0
 652  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_typecode> -> %i1
 657  -live- %i1, %r1
 657  guard_class %r1 -> %i0
 660  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_str_w> -> %i0
 665  -live- %i0, %i1, %r1
 665  switch %i0, <SwitchDictDescr 0:L42, 1:L43, 2:L44>
 669  unreachable
 670  ---
 670  L42:
 670  -live- %i1, %r1
 670  inline_call_r_r <JitCode 'W_UnicodeObject.str_w'>, R[%r1] -> %r2
 676  -live- %i1, %r2
 676  L45:
 676  new_array_clear $5, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018e892138> -> %r0
 681  setarrayitem_gc_r %r0, $0, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018e892138>
 687  newstr $1 -> %r1
 690  strsetitem %r1, $0, %i1
 694  setarrayitem_gc_r %r0, $1, %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018e892138>
 700  setarrayitem_gc_r %r0, $2, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018e892138>
 706  -live- %r0, %r2
 706  goto_if_not_ptr_nonzero %r2, L46
 710  L47:
 710  setarrayitem_gc_r %r0, $3, %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018e892138>
 716  setarrayitem_gc_r %r0, $4, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018e892138>
 722  ref_isvirtual %r0 -> %i0
 725  -live- %i0, %r0
 725  goto_if_not %i0, L48
 729  inline_call_ir_r <JitCode 'll_join_strs__v1222___simple_call__function_'>, I[$5], R[%r0] -> %r1
 737  -live- %r1
 737  L49:
 737  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000000174027cc8> -> %r0
 741  setfield_gc_r %r0, %r1, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 746  ref_return %r0
 748  ---
 748  L48:
 748  int_isconstant $5 -> %i0
 751  -live- %i0, %r0
 751  goto_if_not %i0, L50
 755  L51:
 755  residual_call_ir_r $<* fn ll_join_strs_trampoline__v1224___simple_call__function_>, I[$5], R[%r0], <CallDescr(ir) EF=5> -> %r1
 764  -live- %r1
 764  goto L49
 767  ---
 767  L50:
 767  goto L51
 770  ---
 770  L46:
 770  ref_copy $<* struct rpy_string> -> %r2
 773  goto L47
 776  ---
 776  L43:
 776  -live- %i1, %r1
 776  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value> -> %r2
 781  goto L45
 784  ---
 784  L44:
 784  -live- %r1
 784  inline_call_r_r <JitCode 'oefmt__expected__s__got__T_object_star_2'>, R[$<* struct pypy.objspace.std.typeobject.W_TypeObject>, $<* struct rpy_string>, $<* struct rpy_string>, %r1] -> %r2
 793  -live- %r2
 793  assert_not_none %r2
 795  -live- %r2
 795  guard_class %r2 -> %i1
 798  -live- %r2
 798  raise %r2
