   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 0x000002aabbb1b8a0> -> %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 0x000002aabbb1b8a0> -> %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 0x000002aabbb1b8a0> -> %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  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aac5501f30> -> %r4
 305  setfield_gc_r %r4, %r3, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 310  new_array_clear $4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0> -> %r3
 315  setarrayitem_gc_r %r3, $0, %r4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0>
 321  setarrayitem_gc_r %r3, $1, $<* struct object>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0>
 327  setarrayitem_gc_r %r3, $2, $<* struct object>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0>
 333  setarrayitem_gc_r %r3, $3, $<* struct object>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0>
 339  inline_call_r_r <JitCode 'makespecialisedtuple'>, R[%r3] -> %r4
 345  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4
 345  catch_exception L27
 348  L28:
 348  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.newformat.TemplateFormatter.inst_parser_list_w> -> %r3
 353  getfield_gc_i %r3, FieldDescr<list.length> -> %i4
 358  int_add %i4, $1 -> %i3
 362  inline_call_ir_v <JitCode '_ll_list_resize_ge__listPtr_Signed'>, I[%i3], R[%r3]
 369  -live- %i0, %i1, %i2, %i4, %r0, %r1, %r2, %r3, %r4
 369  setlistitem_gc_r %r3, %i4, %r4, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0>
 377  setfield_gc_i %r0, %i0, FieldDescr<pypy.objspace.std.newformat.TemplateFormatter.inst_last_end>
 382  int_copy %i0 -> %i4
 385  goto L1
 388  ---
 388  L27:
 388  goto_if_exception_mismatch $<* struct object_vtable>, L29
 392  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aac58e10c0> -> %r4
 396  setfield_gc_r %r4, %r3, FieldDescr<pypy.objspace.std.tupleobject.W_TupleObject.inst_wrappeditems>
 401  goto L28
 404  ---
 404  L29:
 404  reraise
 405  ---
 405  L25:
 405  goto L26
 408  ---
 408  L13:
 408  goto L14
 411  ---
 411  L11:
 411  goto L14
 414  ---
 414  L6:
 414  int_copy $True -> %i6
 417  goto L10
 420  ---
 420  L4:
 420  -live- %i0, %i1, %i2, %i3, %i5, %r0, %r1, %r2
 420  goto L5
 423  ---
 423  L2:
 423  inline_call_ir_v <JitCode 'll_jit_append_slice__stringbuilderPtr_rpy_stringPtr_Signed_Signed'>, I[%i0, %i1], R[%r1, %r2]
 432  -live- %r1
 432  ref_isvirtual %r1 -> %i4
 435  -live- %i4, %r1
 435  goto_if_not %i4, L30
 439  getfield_gc_r %r1, FieldDescr<stringbuilder.extra_pieces> -> %r3
 444  -live- %r1, %r3
 444  goto_if_not_ptr_nonzero %r3, L31
 448  residual_call_r_v $<* fn ll_fold_pieces__stringbuilderPtr>, R[%r1], <CallDescr(r) EF=5>
 454  -live- %r1
 454  L32:
 454  getfield_gc_r %r1, FieldDescr<stringbuilder.current_buf> -> %r3
 459  ref_return %r3
 461  ---
 461  L31:
 461  getfield_gc_i %r1, FieldDescr<stringbuilder.current_pos> -> %i4
 466  getfield_gc_i %r1, FieldDescr<stringbuilder.total_size> -> %i0
 471  -live- %i0, %i4, %r1
 471  goto_if_not_int_ne %i4, %i0, L33
 476  getfield_gc_r %r1, FieldDescr<stringbuilder.current_buf> -> %r3
 481  residual_call_ir_r $<* fn ll_shrink_array__rpy_stringPtr_Signed>, I[%i4], R[%r3], <CallDescr(ri) EF=5 OS_SHRINK_ARRAY> -> %r3
 490  -live- %i4, %r1, %r3
 490  setfield_gc_r %r1, %r3, FieldDescr<stringbuilder.current_buf>
 495  setfield_gc_i %r1, %i4, FieldDescr<stringbuilder.current_end>
 500  setfield_gc_i %r1, %i4, FieldDescr<stringbuilder.total_size>
 505  goto L32
 508  ---
 508  L33:
 508  goto L32
 511  ---
 511  L30:
 511  residual_call_r_r $<* fn ll_build_trampoline__v1269___simple_call__function_>, R[%r1], <CallDescr(r) EF=5> -> %r3
 518  -live- %r3
 518  ref_return %r3
