   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.UnicodeMatchContext.inst__unicodestr> -> %r0
  27  unicodegetitem %r0, %i0 -> %i0
  31  inline_call_ir_i <JitCode 'check_charset'>, I[%i1, %i0], R[%r1] -> %i0
  40  -live- %i0
  40  int_return %i0
  42  ---
  42  L2:
  42  -live- %i0, %i1, %r0
  42  getfield_gc_r_greenfield %r0, FieldDescr<rpython.rlib.rsre.rsre_core.AbstractMatchContext.inst_pattern> -> %r1
  47  int_add %i1, $2 -> %i1
  51  getfield_gc_r_pure %r0, FieldDescr<rpython.rlib.rsre.rsre_core.BufMatchContext.inst__buffer> -> %r0
  56  -live- %i0, %i1, %r0, %r1
  56  guard_class %r0 -> %i2
  59  getfield_raw_i %i2, FieldDescr<rpython.rlib.buffer.Buffer_vtable.cls_getitem> -> %i2
  64  -live- %i0, %i1, %i2, %r0, %r1
  64  int_guard_value %i2
  66  residual_call_ir_i %i2, <IndirectCallTargets>, I[%i0], R[%r0], <CallDescr(ri) EF=7> -> %i0
  75  -live- %i0, %i1, %r1
  75  inline_call_ir_i <JitCode 'check_charset'>, I[%i1, %i0], R[%r1] -> %i0
  84  -live- %i0
  84  int_return %i0
