   0  int_copy %i0 -> %i4
   3  L1:
   3  -live- %i0, %i1, %i2, %i4, %r0, %r1, %r2
   3  goto_if_not_int_lt %i4, %i1, L2
   8  int_copy %i0 -> %i3
  11  strgetitem %r2, %i4 -> %i5
  15  int_add %i4, $1 -> %i0
  19  -live- %i0, %i1, %i2, %i3, %i5, %r0, %r1, %r2
  19  switch %i5, <SwitchDictDescr 123:L3, 125:L4>
  23  int_copy %i0 -> %i4
  26  int_copy %i3 -> %i0
  29  goto L1
  32  ---
  32  L3:
  32  -live- %i0, %i1, %i2, %i3, %i5, %r0, %r1, %r2
  32  L5:
  32  int_eq %i0, %i1 -> %i4
  36  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r1, %r2
  36  goto_if_not_int_eq %i5, $'}', L6
  41  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r1, %r2
  41  goto_if_not %i4, L7
  45  L8:
  45  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000000018e6b98a0> -> %r3
  49  setfield_gc_r %r3, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
  54  setfield_gc_r %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
  59  assert_not_none %r3
  61  -live- %r3
  61  guard_class %r3 -> %i4
  64  -live- %r3
  64  raise %r3
  66  ---
  66  L7:
  66  strgetitem %r2, %i0 -> %i4
  70  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r1, %r2
  70  goto_if_not_int_ne %i4, $'}', L9
  75  goto L8
  78  ---
  78  L9:
  78  int_add %i0, $1 -> %i0
  82  int_copy $False -> %i4
  85  int_copy $False -> %i6
  88  L10:
  88  -live- %i0, %i1, %i2, %i3, %i4, %i5, %i6, %r0, %r1, %r2
  88  goto_if_not_int_eq %i5, $'{', L11
  93  -live- %i0, %i1, %i2, %i3, %i4, %i6, %r0, %r1, %r2
  93  goto_if_not %i4, L12
  97  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000000018e6b98a0> -> %r3
 101  setfield_gc_r %r3, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 106  setfield_gc_r %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 111  assert_not_none %r3
 113  -live- %r3
 113  guard_class %r3 -> %i4
 116  -live- %r3
 116  raise %r3
 118  ---
 118  L12:
 118  strgetitem %r2, %i0 -> %i4
 122  -live- %i0, %i1, %i2, %i3, %i4, %i6, %r0, %r1, %r2
 122  goto_if_not_int_eq %i4, $'{', L13
 127  int_add %i0, $1 -> %i0
 131  int_copy $False -> %i6
 134  L14:
 134  int_sub %i0, $1 -> %i4
 138  inline_call_ir_v <JitCode 'll_jit_append_slice__stringbuilderPtr_rpy_stringPtr_Signed_Signed'>, I[%i3, %i4], R[%r1, %r2]
 147  -live- %i0, %i1, %i2, %i3, %i6, %r0, %r1, %r2
 147  -live- %i0, %i1, %i2, %i3, %i6, %r0, %r1, %r2
 147  goto_if_not %i6, L15
 151  int_copy $False -> %i3
 154  int_copy %i0 -> %i5
 157  int_copy $1 -> %i6
 160  L16:
 160  -live- %i0, %i1, %i2, %i3, %i5, %i6, %r0, %r1, %r2
 160  goto_if_not_int_lt %i0, %i1, L17
 165  strgetitem %r2, %i0 -> %i4
 169  -live- %i0, %i1, %i2, %i3, %i4, %i5, %i6, %r0, %r1, %r2
 169  switch %i4, <SwitchDictDescr 123:L18, 125:L19>
 173  L20:
 173  int_add %i0, $1 -> %i0
 177  goto L16
 180  ---
 180  L18:
 180  -live- %i0, %i1, %i2, %i5, %i6, %r0, %r1, %r2
 180  int_add %i6, $1 -> %i6
 184  int_copy $True -> %i3
 187  goto L20
 190  ---
 190  L19:
 190  -live- %i0, %i1, %i2, %i3, %i5, %i6, %r0, %r1, %r2
 190  int_sub %i6, $1 -> %i6
 194  -live- %i0, %i1, %i2, %i3, %i5, %i6, %r0, %r1, %r2
 194  goto_if_not_int_is_true %i6, L21
 198  goto L20
 201  ---
 201  L21:
 201  L22:
 201  inline_call_ir_r <JitCode 'TemplateFormatter._render_field'>, I[%i5, %i0, %i3, %i2], R[%r0] -> %r3
 212  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
 212  inline_call_r_v <JitCode 'll_jit_append__stringbuilderPtr_rpy_stringPtr'>, R[%r1, %r3]
 218  -live- %i0, %i1, %i2, %r0, %r1, %r2
 218  int_add %i0, $1 -> %i0
 222  int_copy %i0 -> %i4
 225  goto L1
 228  ---
 228  L17:
 228  -live- %i0, %i1, %i2, %i3, %i5, %i6, %r0, %r1, %r2
 228  goto_if_not_int_is_true %i6, L23
 232  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000000018e6b98a0> -> %r3
 236  setfield_gc_r %r3, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 241  setfield_gc_r %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 246  assert_not_none %r3
 248  -live- %r3
 248  guard_class %r3 -> %i4
 251  -live- %r3
 251  raise %r3
 253  ---
 253  L23:
 253  goto L22
 256  ---
 256  L15:
 256  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.newformat.TemplateFormatter.inst_parser_list_w> -> %r3
 261  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3
 261  goto_if_not_ptr_iszero %r3, L24
 265  int_copy %i0 -> %i4
 268  goto L1
 271  ---
 271  L24:
 271  int_sub %i0, $1 -> %i5
 275  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.newformat.TemplateFormatter.inst_template> -> %r3
 280  strlen %r3 -> %i4
 283  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r1, %r2, %r3
 283  goto_if_not_int_gt %i5, %i4, L25
 288  strlen %r3 -> %i5
 291  L26:
 291  residual_call_ir_r $<* fn _ll_stringslice__rpy_stringPtr_Signed_Signed>, I[%i3, %i5], R[%r3], <CallDescr(rii) EF=3 OS_STR_SLICE> -> %r3
 301  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3
 301  residual_call_ir_i $<* fn _check_utf8>, I[$True, $0, $-1], R[%r3], <CallDescr(riii) EF=4> -> %i4
 312  -live- %i0, %i1, %i2, %i4, %r0, %r1, %r2, %r3
 312  -live- %i0, %i1, %i2, %i4, %r0, %r1, %r2, %r3
 312  goto_if_not_int_ge %i4, $0, L27
 317  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000000017400aaa0> -> %r4
 321  setfield_gc_r %r4, %r3, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8>
 326  setfield_gc_i %r4, %i4, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length>
 331  setfield_gc_r %r4, $<* None>, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__index_storage>
 336  new_array_clear $4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000000177231bb0> -> %r3
 341  setarrayitem_gc_r %r3, $0, %r4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000000177231bb0>
 347  setarrayitem_gc_r %r3, $1, $<* struct object>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000000177231bb0>
 353  setarrayitem_gc_r %r3, $2, $<* struct object>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000000177231bb0>
 359  setarrayitem_gc_r %r3, $3, $<* struct object>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000000177231bb0>
 365  inline_call_r_r <JitCode 'makespecialisedtuple'>, R[%r3] -> %r4
 371  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4
 371  catch_exception L28
 374  L29:
 374  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.newformat.TemplateFormatter.inst_parser_list_w> -> %r3
 379  getfield_gc_i %r3, FieldDescr<list.length> -> %i4
 384  int_add %i4, $1 -> %i3
 388  inline_call_ir_v <JitCode '_ll_list_resize_ge__listPtr_Signed'>, I[%i3], R[%r3]
 395  -live- %i0, %i1, %i2, %i4, %r0, %r1, %r2, %r3, %r4
 395  setlistitem_gc_r %r3, %i4, %r4, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000000177231bb0>
 403  setfield_gc_i %r0, %i0, FieldDescr<pypy.objspace.std.newformat.TemplateFormatter.inst_last_end>
 408  int_copy %i0 -> %i4
 411  goto L1
 414  ---
 414  L28:
 414  goto_if_exception_mismatch $<* struct object_vtable>, L30
 418  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000000017669eb80> -> %r4
 422  setfield_gc_r %r4, %r3, FieldDescr<pypy.objspace.std.tupleobject.W_TupleObject.inst_wrappeditems>
 427  goto L29
 430  ---
 430  L30:
 430  reraise
 431  ---
 431  L27:
 431  int_invert %i4 -> %i4
 434  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000000018dd60f38> -> %r3
 438  setfield_gc_i %r3, %i4, FieldDescr<rpython.rlib.rutf8.CheckError.inst_pos>
 443  assert_not_none %r3
 445  -live- %r3
 445  guard_class %r3 -> %i4
 448  -live- %r3
 448  raise %r3
 450  ---
 450  L25:
 450  goto L26
 453  ---
 453  L13:
 453  goto L14
 456  ---
 456  L11:
 456  goto L14
 459  ---
 459  L6:
 459  int_copy $True -> %i6
 462  goto L10
 465  ---
 465  L4:
 465  -live- %i0, %i1, %i2, %i3, %i5, %r0, %r1, %r2
 465  goto L5
 468  ---
 468  L2:
 468  inline_call_ir_v <JitCode 'll_jit_append_slice__stringbuilderPtr_rpy_stringPtr_Signed_Signed'>, I[%i0, %i1], R[%r1, %r2]
 477  -live- %r1
 477  ref_isvirtual %r1 -> %i4
 480  -live- %i4, %r1
 480  goto_if_not %i4, L31
 484  getfield_gc_r %r1, FieldDescr<stringbuilder.extra_pieces> -> %r3
 489  -live- %r1, %r3
 489  goto_if_not_ptr_nonzero %r3, L32
 493  residual_call_r_v $<* fn ll_fold_pieces__stringbuilderPtr>, R[%r1], <CallDescr(r) EF=5>
 499  -live- %r1
 499  L33:
 499  getfield_gc_r %r1, FieldDescr<stringbuilder.current_buf> -> %r3
 504  ref_return %r3
 506  ---
 506  L32:
 506  getfield_gc_i %r1, FieldDescr<stringbuilder.current_pos> -> %i4
 511  getfield_gc_i %r1, FieldDescr<stringbuilder.total_size> -> %i0
 516  -live- %i0, %i4, %r1
 516  goto_if_not_int_ne %i4, %i0, L34
 521  getfield_gc_r %r1, FieldDescr<stringbuilder.current_buf> -> %r3
 526  residual_call_ir_r $<* fn ll_shrink_array__rpy_stringPtr_Signed>, I[%i4], R[%r3], <CallDescr(ri) EF=5 OS_SHRINK_ARRAY> -> %r3
 535  -live- %i4, %r1, %r3
 535  setfield_gc_r %r1, %r3, FieldDescr<stringbuilder.current_buf>
 540  setfield_gc_i %r1, %i4, FieldDescr<stringbuilder.current_end>
 545  setfield_gc_i %r1, %i4, FieldDescr<stringbuilder.total_size>
 550  goto L33
 553  ---
 553  L34:
 553  goto L33
 556  ---
 556  L31:
 556  residual_call_r_r $<* fn ll_build_trampoline__v1269___simple_call__function_>, R[%r1], <CallDescr(r) EF=5> -> %r3
 563  -live- %r3
 563  ref_return %r3
