   0  -live- %i0, %r0, %r1
   0  goto_if_not_ptr_nonzero %r1, L1
   4  ref_copy %r1 -> %r3
   7  -live- %i0, %r0, %r1, %r3
   7  guard_class %r3 -> %i1
  10  getfield_raw_i %i1, FieldDescr<object_vtable.subclassrange_min> -> %i1
  15  int_between $TotalOrderSymbolic('compute_fn'), %i1, $TotalOrderSymbolic('compute_fn') -> %i1
  20  -live- %i0, %i1, %r0, %r1
  20  goto_if_not %i1, L2
  24  -live- %i0, %r0, %r1
  24  guard_class %r1 -> %i1
  27  getfield_raw_i %i1, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_user_overridden_class> -> %i1
  32  -live- %i0, %i1, %r0, %r1
  32  goto_if_not %i1, L3
  36  ref_copy %r1 -> %r2
  39  L4:
  39  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x00000100a3a75408> -> %r3
  43  setfield_gc_r %r3, $<* struct rpy_string>, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
  48  inline_call_r_r <JitCode 'finditem'>, R[%r1, %r3] -> %r3
  55  -live- %i0, %r0, %r2, %r3
  55  L5:
  55  -live- %i0, %r0, %r2, %r3
  55  ref_guard_value %r3
  57  -live- %i0, %r0, %r2, %r3
  57  int_guard_value %i0
  59  -live- %i0, %r0, %r2, %r3
  59  goto_if_not_ptr_iszero %r3, L6
  63  L7:
  63  -live- %i0, %r0, %r2
  63  goto_if_not_ptr_nonzero %r2, L8
  67  ref_copy %r2 -> %r3
  70  -live- %i0, %r0, %r2, %r3
  70  guard_class %r3 -> %i1
  73  getfield_raw_i %i1, FieldDescr<object_vtable.subclassrange_min> -> %i1
  78  int_between $TotalOrderSymbolic('compute_fn'), %i1, $TotalOrderSymbolic('compute_fn') -> %i1
  83  -live- %i0, %i1, %r0, %r2
  83  goto_if_not %i1, L9
  87  -live- %i0, %r0, %r2
  87  guard_class %r2 -> %i1
  90  getfield_raw_i %i1, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_user_overridden_class> -> %i1
  95  -live- %i0, %i1, %r0, %r2
  95  goto_if_not %i1, L10
  99  ref_copy %r2 -> %r1
 102  L11:
 102  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x00000100a3a75408> -> %r3
 106  setfield_gc_r %r3, $<* struct rpy_string>, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 111  inline_call_r_r <JitCode 'finditem'>, R[%r2, %r3] -> %r4
 118  -live- %i0, %r0, %r1, %r4
 118  L12:
 118  -live- %i0, %r0, %r1, %r4
 118  goto_if_not_ptr_nonzero %r1, L13
 122  ref_copy %r1 -> %r3
 125  -live- %i0, %r0, %r1, %r3, %r4
 125  guard_class %r3 -> %i1
 128  getfield_raw_i %i1, FieldDescr<object_vtable.subclassrange_min> -> %i1
 133  int_between $TotalOrderSymbolic('compute_fn'), %i1, $TotalOrderSymbolic('compute_fn') -> %i1
 138  -live- %i0, %i1, %r0, %r1, %r4
 138  goto_if_not %i1, L14
 142  -live- %i0, %r0, %r1, %r4
 142  guard_class %r1 -> %i1
 145  getfield_raw_i %i1, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_user_overridden_class> -> %i1
 150  -live- %i0, %i1, %r0, %r1, %r4
 150  goto_if_not %i1, L15
 154  ref_copy %r1 -> %r2
 157  L16:
 157  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x00000100a3a75408> -> %r3
 161  setfield_gc_r %r3, $<* struct rpy_string>, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 166  inline_call_r_r <JitCode 'finditem'>, R[%r1, %r3] -> %r5
 173  -live- %i0, %r0, %r2, %r4, %r5
 173  L17:
 173  -live- %i0, %r0, %r2, %r4, %r5
 173  ref_guard_value %r4
 175  -live- %i0, %r0, %r2, %r4, %r5
 175  goto_if_not_ptr_iszero %r4, L18
 179  ref_return $<* struct tuple2>
 181  ---
 181  L18:
 181  inline_call_r_r <JitCode 'ObjSpace.text0_w'>, R[%r4] -> %r3
 187  -live- %i0, %r0, %r2, %r3, %r4, %r5
 187  catch_exception L19
 190  strlen %r3 -> %i1
 193  -live- %i0, %i1, %r0, %r2, %r3, %r4, %r5
 193  goto_if_not_int_is_true %i1, L20
 197  int_sub %i0, $1 -> %i1
 201  -live- %i0, %i1, %r0, %r2, %r3, %r4, %r5
 201  goto_if_not_int_gt %i1, $0, L21
 206  L22:
 206  -live- %i0, %i1, %r0, %r2, %r3, %r4, %r5
 206  goto_if_not_ptr_iszero %r5, L23
 210  int_add %i1, $1 -> %i1
 214  ref_copy $<* struct pypy.interpreter.baseobjspace.W_Root> -> %r5
 217  L24:
 217  residual_call_ir_i $<* fn _get_dot_position>, I[%i1], R[%r3], <CallDescr(ri) EF=0> -> %i1
 226  -live- %i0, %i1, %r0, %r2, %r3, %r4, %r5
 226  goto_if_not_int_lt %i1, $0, L25
 231  -live- %i0, %r0, %r2, %r3, %r4, %r5
 231  goto_if_not_int_gt %i0, $0, L26
 236  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x00000100b1c14a68> -> %r1
 240  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 245  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 250  assert_not_none %r1
 252  -live- %r1
 252  guard_class %r1 -> %i3
 255  -live- %r1
 255  raise %r1
 257  ---
 257  L26:
 257  int_copy $0 -> %i0
 260  ref_copy $<* struct rpy_string> -> %r1
 263  L27:
 263  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5
 263  goto_if_not_ptr_iszero %r5, L28
 267  strlen %r3 -> %i1
 270  residual_call_ir_i $<* fn ll_rfind_char__rpy_stringPtr_Char_Signed_Signed>, I[$'.', $0, %i1], R[%r3], <CallDescr(riii) EF=0> -> %i2
 281  -live- %i0, %i2, %r0, %r1, %r2, %r3
 281  goto_if_not_int_lt %i2, $0, L29
 286  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x00000100a3a75408> -> %r3
 290  setfield_gc_r %r3, $<* struct rpy_string>, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 295  inline_call_r_r <JitCode 'setitem'>, R[%r2, %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>] -> %r3
 303  -live- %i0, %r0, %r1
 303  L30:
 303  strlen %r0 -> %i1
 306  -live- %i0, %i1, %r0, %r1
 306  goto_if_not_int_is_true %i1, L31
 310  ref_copy %r1 -> %r3
 313  ref_copy %r0 -> %r1
 316  strlen %r3 -> %i1
 319  -live- %i0, %i1, %r1, %r3
 319  goto_if_not_int_is_true %i1, L32
 323  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[$<* struct rpy_string>, %r1], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r0
 331  -live- %i0, %r0, %r3
 331  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[%r3, %r0], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r1
 339  -live- %i0, %r1
 339  L33:
 339  new <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x00000100b0c589f8> -> %r3
 343  setfield_gc_r %r3, %r1, FieldDescr<tuple2.item0>
 348  setfield_gc_i %r3, %i0, FieldDescr<tuple2.item1>
 353  ref_return %r3
 355  ---
 355  L32:
 355  goto L33
 358  ---
 358  L31:
 358  goto L33
 361  ---
 361  L29:
 361  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x00000100a3a75408> -> %r4
 365  setfield_gc_r %r4, $<* struct rpy_string>, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 370  strlen %r3 -> %i1
 373  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4
 373  goto_if_not_int_gt %i2, %i1, L34
 378  strlen %r3 -> %i2
 381  L35:
 381  residual_call_ir_r $<* fn _ll_stringslice__rpy_stringPtr_Signed_Signed>, I[$0, %i2], R[%r3], <CallDescr(rii) EF=3 OS_STR_SLICE> -> %r3
 391  -live- %i0, %r0, %r1, %r2, %r3, %r4
 391  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x00000100a3a75408> -> %r5
 395  setfield_gc_r %r5, %r3, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 400  inline_call_r_r <JitCode 'setitem'>, R[%r2, %r4, %r5] -> %r3
 408  -live- %i0, %r0, %r1
 408  goto L30
 411  ---
 411  L34:
 411  goto L35
 414  ---
 414  L28:
 414  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x00000100a3a75408> -> %r3
 418  setfield_gc_r %r3, $<* struct rpy_string>, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 423  inline_call_r_r <JitCode 'setitem'>, R[%r2, %r3, %r4] -> %r3
 431  -live- %i0, %r0, %r1
 431  goto L30
 434  ---
 434  L25:
 434  strlen %r3 -> %i0
 437  -live- %i0, %i1, %r0, %r2, %r3, %r4, %r5
 437  goto_if_not_int_gt %i1, %i0, L36
 442  strlen %r3 -> %i1
 445  L37:
 445  residual_call_ir_r $<* fn _ll_stringslice__rpy_stringPtr_Signed_Signed>, I[$0, %i1], R[%r3], <CallDescr(rii) EF=3 OS_STR_SLICE> -> %r1
 455  -live- %r0, %r1, %r2, %r3, %r4, %r5
 455  strlen %r1 -> %i1
 458  residual_call_ir_i $<* fn ll_count_char__rpy_stringPtr_Char_Signed_Signed>, I[$'.', $0, %i1], R[%r1], <CallDescr(riii) EF=0> -> %i1
 469  int_add %i1, $1 -> %i0
 473  goto L27
 476  ---
 476  L36:
 476  goto L37
 479  ---
 479  L23:
 479  goto L24
 482  ---
 482  L21:
 482  int_copy $0 -> %i1
 485  goto L22
 488  ---
 488  L20:
 488  ref_return $<* struct tuple2>
 490  ---
 490  L19:
 490  goto_if_exception_mismatch $<* struct object_vtable>, L38
 494  last_exception -> %i3
 496  last_exc_value -> %r1
 498  getfield_gc_r %r1, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type> -> %r3
 503  inline_call_r_i <JitCode 'exception_match'>, R[%r3, $<* struct pypy.interpreter.baseobjspace.W_Root>] -> %i1
 510  -live- %i1, %r1
 510  -live- %i1, %r1
 510  goto_if_not %i1, L39
 514  ref_return $<* struct tuple2>
 516  ---
 516  L39:
 516  -live- %r1
 516  raise %r1
 518  ---
 518  L38:
 518  reraise
 519  ---
 519  L15:
 519  ref_copy %r1 -> %r2
 522  -live- %i0, %r0, %r1, %r2, %r4
 522  guard_class %r1 -> %i1
 525  getfield_raw_i %i1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i1
 530  -live- %i0, %i1, %r0, %r1, %r2, %r4
 530  switch %i1, <SwitchDictDescr 0:L40, 1:L41, 2:L42>
 534  unreachable
 535  ---
 535  L40:
 535  -live- %i0, %r0, %r1, %r2, %r4
 535  -live- %i0, %r0, %r1, %r2, %r4
 535  record_quasiimmut_field %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 541  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r3
 546  L43:
 546  -live- %i0, %r0, %r1, %r2, %r3, %r4
 546  guard_class %r3 -> %i1
 549  getfield_raw_i %i1, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_getitem_str> -> %i1
 554  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4
 554  int_guard_value %i1
 556  residual_call_r_r %i1, <IndirectCallTargets>, R[%r3, %r1, $<* struct rpy_string>], <CallDescr(rrr) EF=7> -> %r5
 565  -live- %i0, %r0, %r2, %r4, %r5
 565  goto L17
 568  ---
 568  L41:
 568  -live- %i0, %r0, %r1, %r2, %r4
 568  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r3
 573  goto L43
 576  ---
 576  L42:
 576  -live-
 576  raise $<* struct object>
 578  ---
 578  L14:
 578  ref_copy %r1 -> %r2
 581  goto L16
 584  ---
 584  L13:
 584  ref_copy %r1 -> %r2
 587  goto L16
 590  ---
 590  L10:
 590  ref_copy %r2 -> %r1
 593  -live- %i0, %r0, %r1, %r2
 593  guard_class %r2 -> %i1
 596  getfield_raw_i %i1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i1
 601  -live- %i0, %i1, %r0, %r1, %r2
 601  switch %i1, <SwitchDictDescr 0:L44, 1:L45, 2:L46>
 605  unreachable
 606  ---
 606  L44:
 606  -live- %i0, %r0, %r1, %r2
 606  -live- %i0, %r0, %r1, %r2
 606  record_quasiimmut_field %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 612  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r3
 617  L47:
 617  -live- %i0, %r0, %r1, %r2, %r3
 617  guard_class %r3 -> %i1
 620  getfield_raw_i %i1, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_getitem_str> -> %i1
 625  -live- %i0, %i1, %r0, %r1, %r2, %r3
 625  int_guard_value %i1
 627  residual_call_r_r %i1, <IndirectCallTargets>, R[%r3, %r2, $<* struct rpy_string>], <CallDescr(rrr) EF=7> -> %r4
 636  -live- %i0, %r0, %r1, %r4
 636  goto L12
 639  ---
 639  L45:
 639  -live- %i0, %r0, %r1, %r2
 639  getfield_gc_r %r2, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r3
 644  goto L47
 647  ---
 647  L46:
 647  -live-
 647  raise $<* struct object>
 649  ---
 649  L9:
 649  ref_copy %r2 -> %r1
 652  goto L11
 655  ---
 655  L8:
 655  ref_copy %r2 -> %r1
 658  goto L11
 661  ---
 661  L6:
 661  instance_ptr_eq %r3, $<* struct pypy.interpreter.baseobjspace.W_Root> -> %i1
 665  -live- %i0, %i1, %r0, %r2, %r3
 665  goto_if_not %i1, L48
 669  goto L7
 672  ---
 672  L48:
 672  inline_call_r_r <JitCode 'ObjSpace.text0_w'>, R[%r3] -> %r2
 678  -live- %i0, %r0, %r2
 678  catch_exception L49
 681  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i1
 689  -live- %i0, %i1, %r0, %r2
 689  goto_if_not %i1, L50
 693  -live- %i0, %r0, %r2
 693  goto_if_not_int_lt %i0, $0, L51
 698  ref_return $<* struct tuple2>
 700  ---
 700  L51:
 700  L52:
 700  int_sub %i0, $1 -> %i1
 704  residual_call_ir_i $<* fn _get_dot_position>, I[%i1], R[%r2], <CallDescr(ri) EF=0> -> %i2
 713  -live- %i0, %i2, %r0, %r2
 713  goto_if_not_int_lt %i2, $0, L53
 718  strlen %r2 -> %i1
 721  -live- %i1
 721  goto_if_not_int_is_zero %i1, L54
 725  ref_copy $<* struct rpy_string> -> %r3
 728  L55:
 728  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x00000100803996e0> -> %r1
 732  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 737  setfield_gc_r %r1, $<* struct tuple2>, FieldDescr<pypy.interpreter.error.OpErrFmt.inst_xstrings>
 742  setfield_gc_r %r1, %r3, FieldDescr<pypy.interpreter.error.OpErrFmt.inst_x0>
 747  assert_not_none %r1
 749  -live- %r1
 749  guard_class %r1 -> %i3
 752  -live- %r1
 752  raise %r1
 754  ---
 754  L54:
 754  ref_copy $<* struct rpy_string> -> %r3
 757  goto L55
 760  ---
 760  L53:
 760  inline_call_ir_r <JitCode 'absolute_import'>, I[$0, $0], R[%r2, $<* struct pypy.interpreter.baseobjspace.W_Root>] -> %r3
 770  -live- %i0, %i2, %r0, %r2
 770  catch_exception L56
 773  L57:
 773  strlen %r2 -> %i1
 776  -live- %i1, %i2, %r0, %r2
 776  goto_if_not_int_gt %i2, %i1, L58
 781  strlen %r2 -> %i2
 784  L59:
 784  residual_call_ir_r $<* fn _ll_stringslice__rpy_stringPtr_Signed_Signed>, I[$0, %i2], R[%r2], <CallDescr(rii) EF=3 OS_STR_SLICE> -> %r1
 794  -live- %r0, %r1
 794  strlen %r1 -> %i1
 797  residual_call_ir_i $<* fn ll_count_char__rpy_stringPtr_Char_Signed_Signed>, I[$'.', $0, %i1], R[%r1], <CallDescr(riii) EF=0> -> %i1
 808  int_add %i1, $1 -> %i0
 812  strlen %r0 -> %i1
 815  -live- %i0, %i1, %r0, %r1
 815  goto_if_not_int_is_true %i1, L60
 819  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[$<* struct rpy_string>, %r0], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r3
 827  -live- %i0, %r1, %r3
 827  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[%r1, %r3], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r1
 835  -live- %i0, %r1
 835  goto L33
 838  ---
 838  L60:
 838  goto L33
 841  ---
 841  L58:
 841  goto L59
 844  ---
 844  L56:
 844  goto_if_exception_mismatch $<* struct object_vtable>, L61
 848  last_exception -> %i3
 850  last_exc_value -> %r1
 852  getfield_gc_r %r1, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type> -> %r3
 857  inline_call_r_i <JitCode 'exception_match'>, R[%r3, $<* struct pypy.interpreter.baseobjspace.W_Root>] -> %i1
 864  -live- %i0, %i1, %i2, %r0, %r1, %r2
 864  -live- %i0, %i1, %i2, %r0, %r1, %r2
 864  goto_if_not %i1, L62
 868  -live- %i0, %i2, %r0, %r2
 868  goto_if_not_int_gt %i0, $0, L63
 873  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x00000100803996e0> -> %r1
 877  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 882  setfield_gc_r %r1, $<* struct tuple2>, FieldDescr<pypy.interpreter.error.OpErrFmt.inst_xstrings>
 887  setfield_gc_r %r1, %r2, FieldDescr<pypy.interpreter.error.OpErrFmt.inst_x0>
 892  assert_not_none %r1
 894  -live- %r1
 894  guard_class %r1 -> %i3
 897  -live- %r1
 897  raise %r1
 899  ---
 899  L63:
 899  new_array_clear $3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000010095349868> -> %r1
 904  setarrayitem_gc_r %r1, $0, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000010095349868>
 910  -live- %i2, %r0, %r1, %r2
 910  goto_if_not_ptr_nonzero %r2, L64
 914  ref_copy %r2 -> %r3
 917  L65:
 917  setarrayitem_gc_r %r1, $1, %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000010095349868>
 923  setarrayitem_gc_r %r1, $2, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000010095349868>
 929  ref_isvirtual %r1 -> %i1
 932  -live- %i1, %i2, %r0, %r1, %r2
 932  goto_if_not %i1, L66
 936  inline_call_ir_r <JitCode 'll_join_strs__v1095___simple_call__function_'>, I[$3], R[%r1] -> %r1
 944  -live- %i2, %r0, %r1, %r2
 944  L67:
 944  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x00000100a3a75408> -> %r3
 948  setfield_gc_r %r3, %r1, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 953  inline_call_ir_v <JitCode 'warn'>, I[$2], R[%r3, $<* struct pypy.objspace.std.typeobject.W_TypeObject>]
 961  -live- %i2, %r0, %r2
 961  goto L57
 964  ---
 964  L66:
 964  int_isconstant $3 -> %i1
 967  -live- %i1, %i2, %r0, %r1, %r2
 967  goto_if_not %i1, L68
 971  L69:
 971  residual_call_ir_r $<* fn ll_join_strs_trampoline__v1091___simple_call__function_>, I[$3], R[%r1], <CallDescr(ir) EF=5> -> %r1
 980  -live- %i2, %r0, %r1, %r2
 980  goto L67
 983  ---
 983  L68:
 983  goto L69
 986  ---
 986  L64:
 986  ref_copy $<* struct rpy_string> -> %r3
 989  goto L65
 992  ---
 992  L62:
 992  -live- %r1
 992  raise %r1
 994  ---
 994  L61:
 994  reraise
 995  ---
 995  L50:
 995  goto L52
 998  ---
 998  L49:
 998  goto_if_exception_mismatch $<* struct object_vtable>, L70
1002  last_exception -> %i3
1004  last_exc_value -> %r1
1006  getfield_gc_r %r1, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type> -> %r3
1011  inline_call_r_i <JitCode 'exception_match'>, R[%r3, $<* struct pypy.interpreter.baseobjspace.W_Root>] -> %i1
1018  -live- %i1, %r1
1018  -live- %i1, %r1
1018  goto_if_not %i1, L71
1022  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x00000100b1c14a68> -> %r1
1026  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
1031  setfield_gc_r %r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
1036  assert_not_none %r1
1038  -live- %r1
1038  guard_class %r1 -> %i3
1041  -live- %r1
1041  raise %r1
1043  ---
1043  L71:
1043  -live- %r1
1043  raise %r1
1045  ---
1045  L70:
1045  reraise
1046  ---
1046  L3:
1046  ref_copy %r1 -> %r2
1049  -live- %i0, %r0, %r1, %r2
1049  guard_class %r1 -> %i1
1052  getfield_raw_i %i1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictMultiObject_vtable.cls_get_strategy> -> %i1
1057  -live- %i0, %i1, %r0, %r1, %r2
1057  switch %i1, <SwitchDictDescr 0:L72, 1:L73, 2:L74>
1061  unreachable
1062  ---
1062  L72:
1062  -live- %i0, %r0, %r1, %r2
1062  -live- %i0, %r0, %r1, %r2
1062  record_quasiimmut_field %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
1068  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r3
1073  L75:
1073  -live- %i0, %r0, %r1, %r2, %r3
1073  guard_class %r3 -> %i1
1076  getfield_raw_i %i1, FieldDescr<pypy.objspace.std.dictmultiobject.DictStrategy_vtable.cls_getitem_str> -> %i1
1081  -live- %i0, %i1, %r0, %r1, %r2, %r3
1081  int_guard_value %i1
1083  residual_call_r_r %i1, <IndirectCallTargets>, R[%r3, %r1, $<* struct rpy_string>], <CallDescr(rrr) EF=7> -> %r3
1092  -live- %i0, %r0, %r2, %r3
1092  goto L5
1095  ---
1095  L73:
1095  -live- %i0, %r0, %r1, %r2
1095  getfield_gc_r %r1, FieldDescr<pypy.objspace.std.dictmultiobject.W_DictObject.inst_dstrategy> -> %r3
1100  goto L75
1103  ---
1103  L74:
1103  -live-
1103  raise $<* struct object>
1105  ---
1105  L2:
1105  ref_copy %r1 -> %r2
1108  goto L4
1111  ---
1111  L1:
1111  ref_copy %r1 -> %r2
1114  goto L4
