   0  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r1
   5  strlen %r1 -> %i1
   8  -live- %i0, %i1, %r0, %r1
  11  goto_if_not_int_is_zero %i1, L1
  15  residual_call_ir_r $<* fn ll_char_mul__Char_Signed>, I[$'0', %i0], R[], <CallDescr(ii) EF=3> -> %r1
  24  -live- %i0, %r1
  27  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000555aaf9d4100> -> %r0
  31  setfield_gc_r %r0, %r1, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8>
  36  setfield_gc_i %r0, %i0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length>
  41  setfield_gc_r %r0, $<* None>, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__index_storage>
  46  ref_return %r0
  48  ---
  48  L1:
  48  getfield_gc_i_pure %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i1
  53  int_sub %i0, %i1 -> %i2
  57  -live- %i0, %i1, %i2, %r1
  60  goto_if_not_int_le %i2, $0, L2
  65  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000555aaf9d4100> -> %r0
  69  setfield_gc_r %r0, %r1, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8>
  74  setfield_gc_i %r0, %i1, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length>
  79  setfield_gc_r %r0, $<* None>, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__index_storage>
  84  ref_return %r0
  86  ---
  86  L2:
  86  strlen %r1 -> %i1
  89  int_add %i2, %i1 -> %i3
  93  uint_lt %i3, $1280L -> %i1
  97  -live- %i0, %i1, %i2, %i3, %r1
 100  goto_if_not %i1, L3
 104  L4:
 104  new <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000555aa76fa090> -> %r2
 108  newstr %i3 -> %r0
 111  setfield_gc_r %r2, %r0, FieldDescr<stringbuilder.current_buf>
 116  setfield_gc_i %r2, $0, FieldDescr<stringbuilder.current_pos>
 121  setfield_gc_i %r2, %i3, FieldDescr<stringbuilder.current_end>
 126  setfield_gc_i %r2, %i3, FieldDescr<stringbuilder.total_size>
 131  strlen %r1 -> %i1
 134  -live- %i0, %i1, %i2, %r1, %r2
 137  goto_if_not_int_gt %i1, $0, L5
 142  strgetitem %r1, $0 -> %i1
 146  -live- %i0, %i1, %i2, %r1, %r2
 149  goto_if_not_int_eq %i1, $'+', L6
 154  L7:
 154  strgetitem %r1, $0 -> %i4
 158  getfield_gc_i %r2, FieldDescr<stringbuilder.current_pos> -> %i1
 163  getfield_gc_i %r2, FieldDescr<stringbuilder.current_end> -> %i3
 168  int_eq %i1, %i3 -> %i1
 172  conditional_call_ir_v %i1, $<* fn ll_grow_by__stringbuilderPtr_Signed>, I[$1], R[%r2], <CallDescr(ri) EF=5>
 181  -live- %i0, %i2, %i4, %r1, %r2
 184  getfield_gc_i %r2, FieldDescr<stringbuilder.current_pos> -> %i1
 189  int_add %i1, $1 -> %i3
 193  setfield_gc_i %r2, %i3, FieldDescr<stringbuilder.current_pos>
 198  getfield_gc_r %r2, FieldDescr<stringbuilder.current_buf> -> %r0
 203  strsetitem %r0, %i1, %i4
 207  int_copy $1 -> %i3
 210  L8:
 210  inline_call_ir_i <JitCode 'll_jit_try_append_multiple_char__stringbuilderPtr_Char_Signed'>, I[$'0', %i2], R[%r2] -> %i1
 219  -live- %i0, %i1, %i2, %i3, %r1, %r2
 222  goto_if_not %i1, L9
 226  L10:
 226  strlen %r1 -> %i1
 229  inline_call_ir_v <JitCode 'll_jit_append_slice__stringbuilderPtr_rpy_stringPtr_Signed_Signed'>, I[%i3, %i1], R[%r2, %r1]
 238  -live- %i0, %r2
 241  ref_isvirtual %r2 -> %i1
 244  -live- %i0, %i1, %r2
 247  goto_if_not %i1, L11
 251  getfield_gc_r %r2, FieldDescr<stringbuilder.extra_pieces> -> %r0
 256  -live- %i0, %r0, %r2
 259  goto_if_not_ptr_nonzero %r0, L12
 263  residual_call_r_v $<* fn ll_fold_pieces__stringbuilderPtr>, R[%r2], <CallDescr(r) EF=5>
 269  L13:
 269  -live- %i0, %r2
 272  getfield_gc_r %r2, FieldDescr<stringbuilder.current_buf> -> %r1
 277  L14:
 277  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000555aaf9d4100> -> %r0
 281  setfield_gc_r %r0, %r1, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8>
 286  setfield_gc_i %r0, %i0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length>
 291  setfield_gc_r %r0, $<* None>, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__index_storage>
 296  ref_return %r0
 298  ---
 298  L12:
 298  getfield_gc_i %r2, FieldDescr<stringbuilder.current_pos> -> %i1
 303  getfield_gc_i %r2, FieldDescr<stringbuilder.total_size> -> %i2
 308  -live- %i0, %i1, %i2, %r2
 311  goto_if_not_int_ne %i1, %i2, L15
 316  getfield_gc_r %r2, FieldDescr<stringbuilder.current_buf> -> %r0
 321  residual_call_ir_r $<* fn ll_shrink_array__rpy_stringPtr_Signed>, I[%i1], R[%r0], <CallDescr(ri) EF=5 OS_SHRINK_ARRAY> -> %r0
 330  -live- %i0, %i1, %r0, %r2
 333  setfield_gc_r %r2, %r0, FieldDescr<stringbuilder.current_buf>
 338  setfield_gc_i %r2, %i1, FieldDescr<stringbuilder.current_end>
 343  setfield_gc_i %r2, %i1, FieldDescr<stringbuilder.total_size>
 348  goto L13
 351  ---
 351  L15:
 351  goto L13
 354  ---
 354  L11:
 354  residual_call_r_r $<* fn ll_build_trampoline__v1841___simple_call__function_>, R[%r2], <CallDescr(r) EF=5> -> %r1
 361  -live- %i0, %r1
 364  goto L14
 367  ---
 367  L9:
 367  residual_call_ir_v $<* fn _ll_append_multiple_char__stringbuilderPtr_Char_Signed>, I[$'0', %i2], R[%r2], <CallDescr(rii) EF=5>
 376  -live- %i0, %i3, %r1, %r2
 379  goto L10
 382  ---
 382  L6:
 382  strgetitem %r1, $0 -> %i1
 386  -live- %i0, %i1, %i2, %r1, %r2
 389  goto_if_not_int_eq %i1, $'-', L16
 394  goto L7
 397  ---
 397  L16:
 397  int_copy $0 -> %i3
 400  goto L8
 403  ---
 403  L5:
 403  int_copy $0 -> %i3
 406  goto L8
 409  ---
 409  L3:
 409  int_copy $1280 -> %i3
 412  goto L4
