   0  int_copy %i0 -> %i4
   3  L1:
   3  -live- %i0, %i1, %i2, %i4, %r0, %r1, %r2
   6  goto_if_not_int_lt %i4, %i1, L2
  11  int_copy %i0 -> %i3
  14  strgetitem %r2, %i4 -> %i5
  18  int_add %i4, $1 -> %i0
  22  -live- %i0, %i1, %i2, %i3, %i5, %r0, %r1, %r2
  25  switch %i5, <SwitchDictDescr 123:L3, 125:L4>
  29  int_copy %i0 -> %i4
  32  int_copy %i3 -> %i0
  35  goto L1
  38  ---
  38  L3:
  38  L5:
  38  -live- %i0, %i1, %i2, %i3, %i5, %r0, %r1, %r2
  41  int_eq %i0, %i1 -> %i4
  45  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r1, %r2
  48  goto_if_not_int_eq %i5, $'}', L6
  53  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r1, %r2
  56  goto_if_not %i4, L7
  60  L8:
  60  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000555ab11f9c90> -> %r3
  64  setfield_gc_r %r3, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
  69  setfield_gc_r %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
  74  assert_not_none %r3
  76  -live- %r3
  79  raise %r3
  81  ---
  81  L7:
  81  strgetitem %r2, %i0 -> %i4
  85  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r1, %r2
  88  goto_if_not_int_ne %i4, $'}', L9
  93  goto L8
  96  ---
  96  L9:
  96  int_add %i0, $1 -> %i0
 100  int_copy $False -> %i4
 103  int_copy $False -> %i6
 106  L10:
 106  -live- %i0, %i1, %i2, %i3, %i4, %i5, %i6, %r0, %r1, %r2
 109  goto_if_not_int_eq %i5, $'{', L11
 114  -live- %i0, %i1, %i2, %i3, %i4, %i6, %r0, %r1, %r2
 117  goto_if_not %i4, L12
 121  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000555ab11f9c90> -> %r3
 125  setfield_gc_r %r3, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 130  setfield_gc_r %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 135  assert_not_none %r3
 137  -live- %r3
 140  raise %r3
 142  ---
 142  L12:
 142  strgetitem %r2, %i0 -> %i4
 146  -live- %i0, %i1, %i2, %i3, %i4, %i6, %r0, %r1, %r2
 149  goto_if_not_int_eq %i4, $'{', L13
 154  int_add %i0, $1 -> %i0
 158  int_copy $False -> %i6
 161  L14:
 161  int_sub %i0, $1 -> %i4
 165  inline_call_ir_v <JitCode 'll_jit_append_slice__stringbuilderPtr_rpy_stringPtr_Signed_Signed'>, I[%i3, %i4], R[%r1, %r2]
 174  -live- %i0, %i1, %i2, %i3, %i6, %r0, %r1, %r2
 177  goto_if_not %i6, L15
 181  int_copy $False -> %i3
 184  int_copy %i0 -> %i5
 187  int_copy $1 -> %i6
 190  L16:
 190  -live- %i0, %i1, %i2, %i3, %i5, %i6, %r0, %r1, %r2
 193  goto_if_not_int_lt %i0, %i1, L17
 198  strgetitem %r2, %i0 -> %i4
 202  -live- %i0, %i1, %i2, %i3, %i4, %i5, %i6, %r0, %r1, %r2
 205  switch %i4, <SwitchDictDescr 123:L18, 125:L19>
 209  L20:
 209  int_add %i0, $1 -> %i0
 213  goto L16
 216  ---
 216  L18:
 216  -live- %i0, %i1, %i2, %i5, %i6, %r0, %r1, %r2
 219  int_add %i6, $1 -> %i6
 223  int_copy $True -> %i3
 226  goto L20
 229  ---
 229  L19:
 229  -live- %i0, %i1, %i2, %i3, %i5, %i6, %r0, %r1, %r2
 232  int_sub %i6, $1 -> %i6
 236  -live- %i0, %i1, %i2, %i3, %i5, %i6, %r0, %r1, %r2
 239  goto_if_not_int_is_true %i6, L21
 243  goto L20
 246  ---
 246  L21:
 246  L22:
 246  inline_call_ir_r <JitCode 'TemplateFormatter._render_field'>, I[%i5, %i0, %i3, %i2], R[%r0] -> %r3
 257  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
 260  inline_call_r_v <JitCode 'll_jit_append__stringbuilderPtr_rpy_stringPtr'>, R[%r1, %r3]
 266  -live- %i0, %i1, %i2, %r0, %r1, %r2
 269  int_add %i0, $1 -> %i0
 273  int_copy %i0 -> %i4
 276  goto L1
 279  ---
 279  L17:
 279  -live- %i0, %i1, %i2, %i3, %i5, %i6, %r0, %r1, %r2
 282  goto_if_not_int_is_true %i6, L23
 286  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000555ab11f9c90> -> %r3
 290  setfield_gc_r %r3, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 295  setfield_gc_r %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 300  assert_not_none %r3
 302  -live- %r3
 305  raise %r3
 307  ---
 307  L23:
 307  goto L22
 310  ---
 310  L15:
 310  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.newformat.TemplateFormatter.inst_parser_list_w> -> %r3
 315  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3
 318  goto_if_not_ptr_iszero %r3, L24
 322  int_copy %i0 -> %i4
 325  goto L1
 328  ---
 328  L24:
 328  int_sub %i0, $1 -> %i5
 332  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.newformat.TemplateFormatter.inst_template> -> %r3
 337  strlen %r3 -> %i4
 340  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r1, %r2, %r3
 343  goto_if_not_int_gt %i5, %i4, L25
 348  strlen %r3 -> %i5
 351  L26:
 351  residual_call_ir_r $<* fn _ll_stringslice__rpy_stringPtr_Signed_Signed>, I[%i3, %i5], R[%r3], <CallDescr(rii) EF=3 OS_STR_SLICE> -> %r3
 361  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
 364  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000555aafd147c8> -> %r4
 368  setfield_gc_r %r4, %r3, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 373  new_array_clear $4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000555ab2974de8> -> %r3
 378  setarrayitem_gc_r %r3, $0, %r4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000555ab2974de8>
 384  setarrayitem_gc_r %r3, $1, $<* GCREF hidden>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000555ab2974de8>
 390  setarrayitem_gc_r %r3, $2, $<* GCREF hidden>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000555ab2974de8>
 396  setarrayitem_gc_r %r3, $3, $<* GCREF hidden>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000555ab2974de8>
 402  inline_call_r_r <JitCode 'makespecialisedtuple'>, R[%r3] -> %r4
 408  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4
 411  catch_exception L27
 414  L28:
 414  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.newformat.TemplateFormatter.inst_parser_list_w> -> %r3
 419  getfield_gc_i %r3, FieldDescr<list.length> -> %i4
 424  int_add %i4, $1 -> %i3
 428  inline_call_ir_v <JitCode '_ll_list_resize_ge__listPtr_Signed'>, I[%i3], R[%r3]
 435  -live- %i0, %i1, %i2, %i4, %r0, %r1, %r2, %r3, %r4
 438  setlistitem_gc_r %r3, %i4, %r4, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000555ab2974de8>
 446  setfield_gc_i %r0, %i0, FieldDescr<pypy.objspace.std.newformat.TemplateFormatter.inst_last_end>
 451  int_copy %i0 -> %i4
 454  goto L1
 457  ---
 457  L27:
 457  goto_if_exception_mismatch $<* struct object_vtable>, L29
 461  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000555aaf7a3440> -> %r4
 465  setfield_gc_r %r4, %r3, FieldDescr<pypy.objspace.std.tupleobject.W_TupleObject.inst_wrappeditems>
 470  goto L28
 473  ---
 473  L29:
 473  reraise
 474  ---
 474  L25:
 474  goto L26
 477  ---
 477  L13:
 477  goto L14
 480  ---
 480  L11:
 480  goto L14
 483  ---
 483  L6:
 483  int_copy $True -> %i6
 486  goto L10
 489  ---
 489  L4:
 489  -live- %i0, %i1, %i2, %i3, %i5, %r0, %r1, %r2
 492  goto L5
 495  ---
 495  L2:
 495  inline_call_ir_v <JitCode 'll_jit_append_slice__stringbuilderPtr_rpy_stringPtr_Signed_Signed'>, I[%i0, %i1], R[%r1, %r2]
 504  -live- %r1
 507  ref_isvirtual %r1 -> %i4
 510  -live- %i4, %r1
 513  goto_if_not %i4, L30
 517  getfield_gc_r %r1, FieldDescr<stringbuilder.extra_pieces> -> %r3
 522  -live- %r1, %r3
 525  goto_if_not_ptr_nonzero %r3, L31
 529  residual_call_r_v $<* fn ll_fold_pieces__stringbuilderPtr>, R[%r1], <CallDescr(r) EF=5>
 535  L32:
 535  -live- %r1
 538  getfield_gc_r %r1, FieldDescr<stringbuilder.current_buf> -> %r3
 543  ref_return %r3
 545  ---
 545  L31:
 545  getfield_gc_i %r1, FieldDescr<stringbuilder.current_pos> -> %i4
 550  getfield_gc_i %r1, FieldDescr<stringbuilder.total_size> -> %i0
 555  -live- %i0, %i4, %r1
 558  goto_if_not_int_ne %i4, %i0, L33
 563  getfield_gc_r %r1, FieldDescr<stringbuilder.current_buf> -> %r3
 568  residual_call_ir_r $<* fn ll_shrink_array__rpy_stringPtr_Signed>, I[%i4], R[%r3], <CallDescr(ri) EF=5 OS_SHRINK_ARRAY> -> %r3
 577  -live- %i4, %r1, %r3
 580  setfield_gc_r %r1, %r3, FieldDescr<stringbuilder.current_buf>
 585  setfield_gc_i %r1, %i4, FieldDescr<stringbuilder.current_end>
 590  setfield_gc_i %r1, %i4, FieldDescr<stringbuilder.total_size>
 595  goto L32
 598  ---
 598  L33:
 598  goto L32
 601  ---
 601  L30:
 601  residual_call_r_r $<* fn ll_build_trampoline__v1841___simple_call__function_>, R[%r1], <CallDescr(r) EF=5> -> %r3
 608  -live- %r3
 611  ref_return %r3
