   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 0x0000aaab0c7fdde0> -> %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 0x0000aaab0c7fdde0> -> %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 0x0000aaab0c7fdde0> -> %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  residual_call_ir_i $<* fn _check_utf8>, I[$True, $0, $-1], R[%r3], <CallDescr(riii) EF=4> -> %i4
 375  -live- %i0, %i1, %i2, %i4, %r0, %r1, %r2, %r3
 378  goto_if_not_int_ge %i4, $0, L27
 383  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab0cba5088> -> %r4
 387  setfield_gc_r %r4, %r3, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8>
 392  setfield_gc_i %r4, %i4, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length>
 397  setfield_gc_r %r4, $<* None>, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__index_storage>
 402  new_array_clear $4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab153484b8> -> %r3
 407  setarrayitem_gc_r %r3, $0, %r4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab153484b8>
 413  setarrayitem_gc_r %r3, $1, $<* GCREF hidden>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab153484b8>
 419  setarrayitem_gc_r %r3, $2, $<* GCREF hidden>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab153484b8>
 425  setarrayitem_gc_r %r3, $3, $<* GCREF hidden>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab153484b8>
 431  inline_call_r_r <JitCode 'makespecialisedtuple'>, R[%r3] -> %r4
 437  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4
 440  catch_exception L28
 443  L29:
 443  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.newformat.TemplateFormatter.inst_parser_list_w> -> %r3
 448  getfield_gc_i %r3, FieldDescr<list.length> -> %i4
 453  int_add %i4, $1 -> %i3
 457  inline_call_ir_v <JitCode '_ll_list_resize_ge__listPtr_Signed'>, I[%i3], R[%r3]
 464  -live- %i0, %i1, %i2, %i4, %r0, %r1, %r2, %r3, %r4
 467  setlistitem_gc_r %r3, %i4, %r4, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab153484b8>
 475  setfield_gc_i %r0, %i0, FieldDescr<pypy.objspace.std.newformat.TemplateFormatter.inst_last_end>
 480  int_copy %i0 -> %i4
 483  goto L1
 486  ---
 486  L28:
 486  goto_if_exception_mismatch $<* struct object_vtable>, L30
 490  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab0cc474b0> -> %r4
 494  setfield_gc_r %r4, %r3, FieldDescr<pypy.objspace.std.tupleobject.W_TupleObject.inst_wrappeditems>
 499  goto L29
 502  ---
 502  L30:
 502  reraise
 503  ---
 503  L27:
 503  int_invert %i4 -> %i4
 506  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab0bc00b80> -> %r3
 510  setfield_gc_i %r3, %i4, FieldDescr<rpython.rlib.rutf8.CheckError.inst_pos>
 515  assert_not_none %r3
 517  -live- %r3
 520  raise %r3
 522  ---
 522  L25:
 522  goto L26
 525  ---
 525  L13:
 525  goto L14
 528  ---
 528  L11:
 528  goto L14
 531  ---
 531  L6:
 531  int_copy $True -> %i6
 534  goto L10
 537  ---
 537  L4:
 537  -live- %i0, %i1, %i2, %i3, %i5, %r0, %r1, %r2
 540  goto L5
 543  ---
 543  L2:
 543  inline_call_ir_v <JitCode 'll_jit_append_slice__stringbuilderPtr_rpy_stringPtr_Signed_Signed'>, I[%i0, %i1], R[%r1, %r2]
 552  -live- %r1
 555  ref_isvirtual %r1 -> %i4
 558  -live- %i4, %r1
 561  goto_if_not %i4, L31
 565  getfield_gc_r %r1, FieldDescr<stringbuilder.extra_pieces> -> %r3
 570  -live- %r1, %r3
 573  goto_if_not_ptr_nonzero %r3, L32
 577  residual_call_r_v $<* fn ll_fold_pieces__stringbuilderPtr>, R[%r1], <CallDescr(r) EF=5>
 583  L33:
 583  -live- %r1
 586  getfield_gc_r %r1, FieldDescr<stringbuilder.current_buf> -> %r3
 591  ref_return %r3
 593  ---
 593  L32:
 593  getfield_gc_i %r1, FieldDescr<stringbuilder.current_pos> -> %i4
 598  getfield_gc_i %r1, FieldDescr<stringbuilder.total_size> -> %i0
 603  -live- %i0, %i4, %r1
 606  goto_if_not_int_ne %i4, %i0, L34
 611  getfield_gc_r %r1, FieldDescr<stringbuilder.current_buf> -> %r3
 616  residual_call_ir_r $<* fn ll_shrink_array__rpy_stringPtr_Signed>, I[%i4], R[%r3], <CallDescr(ri) EF=5 OS_SHRINK_ARRAY> -> %r3
 625  -live- %i4, %r1, %r3
 628  setfield_gc_r %r1, %r3, FieldDescr<stringbuilder.current_buf>
 633  setfield_gc_i %r1, %i4, FieldDescr<stringbuilder.current_end>
 638  setfield_gc_i %r1, %i4, FieldDescr<stringbuilder.total_size>
 643  goto L33
 646  ---
 646  L34:
 646  goto L33
 649  ---
 649  L31:
 649  residual_call_r_r $<* fn ll_build_trampoline__v1841___simple_call__function_>, R[%r1], <CallDescr(r) EF=5> -> %r3
 656  -live- %r3
 659  ref_return %r3
