   0  -live- %r0, %r1, %r2
   3  goto_if_not_ptr_iszero %r2, L1
   7  L2:
   7  -live- %r0, %r1, %r2
  10  goto_if_not_ptr_iszero %r1, L3
  14  -live- %r0, %r2
  17  record_quasiimmut_field $<* struct pypy.module.sys.moduledef.Module>, FieldDescr<pypy.module.sys.moduledef.Module.inst_defaultencoding>, FieldDescr<pypy.module.sys.moduledef.Module.mutate_defaultencoding>
  23  getfield_gc_r_pure $<* struct pypy.module.sys.moduledef.Module>, FieldDescr<pypy.module.sys.moduledef.Module.inst_defaultencoding> -> %r3
  28  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r3, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
  36  -live- %i0, %r0, %r2
  39  goto_if_not %i0, L4
  43  L5:
  43  -live- %r0
  46  guard_class %r0 -> %i0
  49  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_utf8_w> -> %i0
  54  -live- %i0, %r0
  57  switch %i0, <SwitchDictDescr 0:L6, 1:L7, 2:L8>
  61  unreachable
  62  ---
  62  L6:
  62  -live- %r0
  65  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i0
  70  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r3
  75  ref_copy %r0 -> %r2
  78  record_known_result_i_ir_v %i0, $<* fn _check_utf8>, I[$True, $0, $-1], R[%r3], <CallDescr(riii) EF=4>
  89  -live- %r0, %r2
  92  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r3
  97  L9:
  97  -live- %r2, %r3
 100  goto_if_not_ptr_nonzero %r2, L10
 104  ref_copy %r2 -> %r1
 107  -live- %r1, %r2, %r3
 110  guard_class %r1 -> %i0
 113  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
 118  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
 123  -live- %i0, %r2, %r3
 126  goto_if_not %i0, L11
 130  getfield_gc_i %r2, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i0
 135  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r1
 140  strlen %r1 -> %i1
 143  -live- %i0, %i1, %r2, %r3
 146  goto_if_not_int_eq %i0, %i1, L12
 151  L13:
 151  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab82bc22c0> -> %r2
 155  setfield_gc_r %r2, %r3, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 160  ref_return %r2
 162  ---
 162  L12:
 162  L14:
 162  inline_call_r_v <JitCode 'check_ascii'>, R[%r3]
 167  -live- %r2, %r3
 170  catch_exception L15
 173  goto L13
 176  ---
 176  L15:
 176  goto_if_exception_mismatch $<* struct object_vtable>, L16
 180  last_exc_value -> %r1
 182  -live- %r1, %r2, %r3
 185  guard_class %r2 -> %i0
 188  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
 193  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
 198  -live- %i0, %r1, %r2, %r3
 201  goto_if_not %i0, L17
 205  int_copy $'\x00' -> %i0
 208  L18:
 208  getfield_gc_i %r1, FieldDescr<rpython.rlib.rutf8.CheckError.inst_pos> -> %i1
 213  int_add %i1, $1 -> %i2
 217  -live- %i0, %i1, %i2, %r3
 220  switch %i0, <SwitchDictDescr 0:L19, 1:L20>
 224  unreachable
 225  ---
 225  L19:
 225  -live- %i1, %i2, %r3
 228  inline_call_ir_r <JitCode 'raise_unicode_exception_encode'>, I[%i1, %i2], R[$<* struct rpy_string>, $<* struct rpy_string>, $<* struct rpy_string>, %r3] -> %r3
 240  -live-
 243  raise $<* struct object>
 245  ---
 245  L20:
 245  -live- %i1, %i2, %r3
 248  inline_call_ir_r <JitCode 'raise_unicode_exception_decode'>, I[%i1, %i2], R[$<* struct rpy_string>, $<* struct rpy_string>, $<* struct rpy_string>, %r3] -> %r3
 260  -live-
 263  raise $<* struct object>
 265  ---
 265  L17:
 265  -live- %r1, %r2, %r3
 268  guard_class %r2 -> %i0
 271  -live- %i0, %r1, %r2, %r3
 274  int_guard_value %i0
 276  -live- %r1, %r2, %r3
 279  guard_class %r2 -> %i0
 282  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i0
 287  -live- %i0, %r1, %r2, %r3
 290  switch %i0, <SwitchDictDescr 0:L21, 1:L22, 2:L23, 3:L24>
 294  unreachable
 295  ---
 295  L21:
 295  -live- %r1, %r2, %r3
 298  guard_class %r2 -> %i0
 301  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls__get_mapdict_map> -> %i0
 306  -live- %i0, %r1, %r2, %r3
 309  int_guard_value %i0
 311  residual_call_r_r %i0, <IndirectCallTargets>, R[%r2], <CallDescr(r) EF=2> -> %r2
 318  -live- %r1, %r2, %r3
 321  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r2
 326  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_w_cls> -> %r2
 331  L25:
 331  inline_call_r_i <JitCode 'W_TypeObject.issubtype'>, R[%r2, $<* struct pypy.objspace.std.typeobject.W_TypeObject>] -> %i0
 338  -live- %i0, %r1, %r3
 341  goto_if_not %i0, L26
 345  int_copy $'\x00' -> %i0
 348  goto L18
 351  ---
 351  L26:
 351  int_copy $'\x01' -> %i0
 354  goto L18
 357  ---
 357  L22:
 357  -live- %r1, %r2, %r3
 360  getfield_gc_r %r2, FieldDescr<pypy.interpreter.typedef.W_ObjectObjectUserDictWeakrefable.inst_map> -> %r2
 365  -live- %r1, %r2, %r3
 368  ref_guard_value %r2
 370  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.mapdict.AbstractAttribute.inst_terminator> -> %r2
 375  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.mapdict.Terminator.inst_w_cls> -> %r2
 380  goto L25
 383  ---
 383  L23:
 383  -live- %r1, %r2, %r3
 386  getfield_gc_r %r2, FieldDescr<pypy.objspace.std.proxyobject.W_Transparent.inst_w_type> -> %r2
 391  goto L25
 394  ---
 394  L24:
 394  -live- %r1, %r2, %r3
 397  guard_class %r2 -> %i0
 400  getfield_raw_r %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.pbc2internal_memofield_gettypefor_3> -> %r2
 405  goto L25
 408  ---
 408  L16:
 408  reraise
 409  ---
 409  L11:
 409  goto L14
 412  ---
 412  L10:
 412  goto L14
 415  ---
 415  L7:
 415  -live- %r0
 418  ref_copy %r0 -> %r2
 421  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value> -> %r3
 426  goto L9
 429  ---
 429  L8:
 429  -live- %r0
 432  inline_call_r_r <JitCode 'oefmt__expected__s__got__T_object_star_2'>, R[$<* struct pypy.objspace.std.typeobject.W_TypeObject>, $<* struct rpy_string>, $<* struct rpy_string>, %r0] -> %r3
 441  -live- %r3
 444  assert_not_none %r3
 446  -live- %r3
 449  guard_class %r3 -> %i0
 452  -live- %r3
 455  raise %r3
 457  ---
 457  L4:
 457  ref_copy $<* struct rpy_string> -> %r1
 460  L27:
 460  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r1, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
 468  -live- %i0, %r0, %r1, %r2
 471  goto_if_not %i0, L28
 475  goto L5
 478  ---
 478  L28:
 478  -live- %r0, %r1, %r2
 481  goto_if_not_ptr_iszero %r1, L29
 485  -live- %r0, %r2
 488  record_quasiimmut_field $<* struct pypy.module.sys.moduledef.Module>, FieldDescr<pypy.module.sys.moduledef.Module.inst_defaultencoding>, FieldDescr<pypy.module.sys.moduledef.Module.mutate_defaultencoding>
 494  getfield_gc_r_pure $<* struct pypy.module.sys.moduledef.Module>, FieldDescr<pypy.module.sys.moduledef.Module.inst_defaultencoding> -> %r3
 499  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r3, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
 507  -live- %i0, %r0, %r2
 510  goto_if_not %i0, L30
 514  L31:
 514  -live- %r0
 517  guard_class %r0 -> %i0
 520  getfield_raw_i %i0, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_utf8_w> -> %i0
 525  -live- %i0, %r0
 528  switch %i0, <SwitchDictDescr 0:L32, 1:L33, 2:L34>
 532  unreachable
 533  ---
 533  L32:
 533  -live- %r0
 536  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i0
 541  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r3
 546  ref_copy %r0 -> %r2
 549  record_known_result_i_ir_v %i0, $<* fn _check_utf8>, I[$True, $0, $-1], R[%r3], <CallDescr(riii) EF=4>
 560  -live- %r0, %r2
 563  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r3
 568  L35:
 568  -live- %r2, %r3
 571  goto_if_not_ptr_nonzero %r2, L36
 575  ref_copy %r2 -> %r1
 578  -live- %r1, %r2, %r3
 581  guard_class %r2 -> %i0
 584  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
 589  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
 594  -live- %i0, %r1, %r3
 597  goto_if_not %i0, L37
 601  getfield_gc_i %r1, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i0
 606  getfield_gc_r_pure %r1, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r2
 611  strlen %r2 -> %i1
 614  -live- %i0, %i1, %r3
 617  goto_if_not_int_eq %i0, %i1, L38
 622  L39:
 622  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab82bc22c0> -> %r2
 626  setfield_gc_r %r2, %r3, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 631  ref_return %r2
 633  ---
 633  L38:
 633  L40:
 633  residual_call_r_i $<* fn surrogate_in_utf8>, R[%r3], <CallDescr(r) EF=4> -> %i0
 640  -live- %i0, %r3
 643  goto_if_not_int_ge %i0, $0, L41
 648  residual_call_r_r $<* fn reencode_utf8_with_surrogates>, R[%r3], <CallDescr(r) EF=5> -> %r3
 655  -live- %r3
 658  goto L39
 661  ---
 661  L41:
 661  goto L39
 664  ---
 664  L37:
 664  goto L40
 667  ---
 667  L36:
 667  goto L40
 670  ---
 670  L33:
 670  -live- %r0
 673  ref_copy %r0 -> %r2
 676  getfield_gc_r_pure %r2, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value> -> %r3
 681  goto L35
 684  ---
 684  L34:
 684  -live- %r0
 687  inline_call_r_r <JitCode 'oefmt__expected__s__got__T_object_star_2'>, R[$<* struct pypy.objspace.std.typeobject.W_TypeObject>, $<* struct rpy_string>, $<* struct rpy_string>, %r0] -> %r3
 696  -live- %r3
 699  assert_not_none %r3
 701  -live- %r3
 704  guard_class %r3 -> %i0
 707  -live- %r3
 710  raise %r3
 712  ---
 712  L30:
 712  ref_copy $<* struct rpy_string> -> %r1
 715  L42:
 715  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r1, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
 723  -live- %i0, %r0, %r1, %r2
 726  goto_if_not %i0, L43
 730  goto L31
 733  ---
 733  L43:
 733  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r1, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
 741  -live- %i0, %r0, %r1, %r2
 744  goto_if_not %i0, L44
 748  goto L31
 751  ---
 751  L44:
 751  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r1, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
 759  -live- %i0, %r0, %r1, %r2
 762  goto_if_not %i0, L45
 766  goto L31
 769  ---
 769  L45:
 769  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r1, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
 777  -live- %i0, %r0, %r1, %r2
 780  goto_if_not %i0, L46
 784  L47:
 784  -live- %r0, %r1, %r2
 787  goto_if_not_ptr_nonzero %r0, L48
 791  ref_copy %r0 -> %r3
 794  -live- %r0, %r1, %r2, %r3
 797  guard_class %r3 -> %i0
 800  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
 805  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
 810  -live- %i0, %r0, %r1, %r2
 813  goto_if_not %i0, L49
 817  getfield_gc_i %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length> -> %i0
 822  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8> -> %r3
 827  strlen %r3 -> %i1
 830  -live- %i0, %i1, %r0, %r1, %r2, %r3
 833  goto_if_not_int_eq %i0, %i1, L50
 838  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab82bc22c0> -> %r2
 842  setfield_gc_r %r2, %r3, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 847  ref_return %r2
 849  ---
 849  L50:
 849  L51:
 849  inline_call_r_r <JitCode 'encode'>, R[%r0, %r1, %r2] -> %r2
 857  -live- %r2
 860  ref_return %r2
 862  ---
 862  L49:
 862  goto L51
 865  ---
 865  L48:
 865  goto L51
 868  ---
 868  L46:
 868  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r1, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
 876  -live- %i0, %r0, %r1, %r2
 879  goto_if_not %i0, L52
 883  goto L47
 886  ---
 886  L52:
 886  goto L51
 889  ---
 889  L29:
 889  goto L42
 892  ---
 892  L3:
 892  goto L27
 895  ---
 895  L1:
 895  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
 903  -live- %i0, %r0, %r1, %r2
 906  goto_if_not %i0, L53
 910  goto L2
 913  ---
 913  L53:
 913  goto L51
