   0  -live- %i0, %i1, %r0
   0  guard_class %r0 -> %i2
   3  getfield_raw_i %i2, FieldDescr<rpython.rlib.rsre.rsre_core.AbstractMatchContext_vtable.cls__spec_match_IN> -> %i2
   8  -live- %i0, %i1, %i2, %r0
   8  switch %i2, <SwitchDictDescr 0:L1, 1:L2>
  12  unreachable
  13  ---
  13  L1:
  13  -live- %i0, %i1, %r0
  13  getfield_gc_r_greenfield %r0, FieldDescr<rpython.rlib.rsre.rsre_core.AbstractMatchContext.inst_pattern> -> %r1
  18  int_add %i1, $2 -> %i1
  22  getfield_gc_r_pure %r0, FieldDescr<rpython.rlib.rsre.rsre_core.BufMatchContext.inst__buffer> -> %r0
  27  -live- %i0, %i1, %r0, %r1
  27  guard_class %r0 -> %i2
  30  getfield_raw_i %i2, FieldDescr<rpython.rlib.buffer.Buffer_vtable.cls_getitem> -> %i2
  35  -live- %i0, %i1, %i2, %r0, %r1
  35  int_guard_value %i2
  37  residual_call_ir_i %i2, <IndirectCallTargets>, I[%i0], R[%r0], <CallDescr(ri) EF=7> -> %i0
  46  -live- %i0, %i1, %r1
  46  inline_call_ir_i <JitCode 'check_charset'>, I[%i1, %i0], R[%r1] -> %i0
  55  -live- %i0
  55  int_return %i0
  57  ---
  57  L2:
  57  -live- %i0, %i1, %r0
  57  getfield_gc_r_greenfield %r0, FieldDescr<rpython.rlib.rsre.rsre_core.AbstractMatchContext.inst_pattern> -> %r1
  62  int_add %i1, $2 -> %i1
  66  getfield_gc_r_pure %r0, FieldDescr<rpython.rlib.rsre.rsre_core.UnicodeMatchContext.inst__unicodestr> -> %r0
  71  unicodegetitem %r0, %i0 -> %i0
  75  inline_call_ir_i <JitCode 'check_charset'>, I[%i1, %i0], R[%r1] -> %i0
  84  -live- %i0
  84  int_return %i0
