   0  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.celldict.ModuleDictStrategy.inst_caches> -> %r3
   5  -live- %r0, %r1, %r2, %r3
   8  goto_if_not_ptr_iszero %r3, L1
  12  new <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aa663263d8> -> %r3
  16  setfield_gc_r %r3, $<* array [  ]>, FieldDescr<dicttable.entries>
  21  setfield_gc_i %r3, $0, FieldDescr<dicttable.num_live_items>
  26  setfield_gc_i %r3, $0, FieldDescr<dicttable.num_ever_used_items>
  31  setfield_gc_i %r3, $4, FieldDescr<dicttable.lookup_function_no>
  36  setfield_gc_r %r3, $<* None>, FieldDescr<dicttable.indexes>
  41  setfield_gc_r %r0, %r3, FieldDescr<pypy.objspace.std.celldict.ModuleDictStrategy.inst_caches>
  46  L2:
  46  -live- %r0, %r1, %r2
  49  ref_guard_value %r0
  51  -live- %r0, %r1, %r2
  54  record_quasiimmut_field %r0, FieldDescr<pypy.objspace.std.celldict.ModuleDictStrategy.inst_version>, FieldDescr<pypy.objspace.std.celldict.ModuleDictStrategy.mutate_version>
  60  getfield_gc_r_pure %r0, FieldDescr<pypy.objspace.std.celldict.ModuleDictStrategy.inst_version> -> %r3
  65  -live- %r0, %r1, %r2, %r3
  68  ref_guard_value %r0
  70  -live- %r0, %r1, %r2, %r3
  73  ref_guard_value %r3
  75  -live- %r0, %r1, %r2, %r3
  78  ref_guard_value %r1
  80  residual_call_r_r $<* fn _getdictvalue_no_unwrapping_pure>, R[%r0, %r3, %r1, %r2], <CallDescr(rrrr) EF=4> -> %r3
  90  -live- %r0, %r1, %r2, %r3
  93  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aa6d221830> -> %r5
  97  setfield_gc_r %r5, %r3, FieldDescr<pypy.objspace.std.celldict.GlobalCache.inst_cell>
 102  setfield_gc_i %r5, $True, FieldDescr<pypy.objspace.std.celldict.GlobalCache.inst_valid>
 107  residual_call_r_r $<* fn _ll_1_weakref_create__pypy_objspace_std_celldict_GlobalCachePtr>, R[%r5], <CallDescr(r) EF=5> -> %r4
 114  -live- %r0, %r1, %r2, %r3, %r4, %r5
 117  setfield_gc_r %r5, %r4, FieldDescr<pypy.objspace.std.celldict.GlobalCache.inst_ref>
 122  setfield_gc_r %r5, $<* struct pypy.objspace.std.celldict.GlobalCache>, FieldDescr<pypy.objspace.std.celldict.GlobalCache.inst_builtincache>
 127  -live- %r0, %r1, %r2, %r3, %r5
 130  goto_if_not_ptr_iszero %r3, L3
 134  instance_ptr_eq %r1, $<* struct pypy.interpreter.baseobjspace.W_Root> -> %i0
 138  -live- %i0, %r0, %r2, %r5
 141  goto_if_not %i0, L4
 145  L5:
 145  getfield_gc_r %r0, FieldDescr<pypy.objspace.std.celldict.ModuleDictStrategy.inst_caches> -> %r0
 150  -live- %r0, %r2, %r5
 153  goto_if_not_ptr_nonzero %r2, L6
 157  ref_copy %r5 -> %r3
 160  strhash %r2 -> %i0
 163  conditional_call_value_ir_i %i0, $<* fn _ll_strhash__rpy_stringPtr>, I[], R[%r2], <CallDescr(r) EF=2> -> %i1
 172  L7:
 172  ref_isvirtual %r0 -> %i0
 175  -live- %i0, %i1, %r0, %r2, %r3, %r5
 178  goto_if_not %i0, L8
 182  inline_call_ir_i <JitCode 'll_call_lookup_function__v1657___simple_call__function_'>, I[%i1, $1], R[%r0, %r2] -> %i0
 192  L9:
 192  -live- %i0, %i1, %r0, %r2, %r3, %r5
 195  inline_call_ir_v <JitCode '_ll_dict_setitem_lookup_done_look_inside_iff__dicttablePtr_rpy_stringPtr_GCREFPtr_Signed_Signed'>, I[%i1, %i0], R[%r0, %r2, %r5]
 205  -live- %r3
 208  ref_return %r3
 210  ---
 210  L8:
 210  residual_call_ir_i $<* fn ll_call_lookup_function_trampoline__v1677___simple_call__function_>, I[%i1, $1], R[%r0, %r2], <CallDescr(rrii) EF=5 OS_DICT_LOOKUP> -> %i0
 221  -live- %i0, %i1, %r0, %r2, %r3, %r5
 224  goto L9
 227  ---
 227  L6:
 227  int_copy $0 -> %i1
 230  ref_copy %r5 -> %r3
 233  goto L7
 236  ---
 236  L4:
 236  -live- %r0, %r2, %r5
 239  record_quasiimmut_field $<* struct pypy.objspace.std.dictmultiobject.W_ModuleDictObject>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.mutate_mstrategy>
 245  getfield_gc_r_pure $<* struct pypy.objspace.std.dictmultiobject.W_ModuleDictObject>, FieldDescr<pypy.objspace.std.dictmultiobject.W_ModuleDictObject.inst_mstrategy> -> %r3
 250  -live- %r0, %r2, %r3, %r5
 253  guard_class %r3 -> %i0
 256  -live- %i0, %r0, %r2, %r3, %r5
 259  goto_if_not_int_eq %i0, $<* struct object_vtable>, L10
 264  -live- %r0, %r2, %r3, %r5
 267  ref_guard_value %r3
 269  -live- %r0, %r2, %r3, %r5
 272  record_quasiimmut_field %r3, FieldDescr<pypy.objspace.std.celldict.ModuleDictStrategy.inst_version>, FieldDescr<pypy.objspace.std.celldict.ModuleDictStrategy.mutate_version>
 278  getfield_gc_r_pure %r3, FieldDescr<pypy.objspace.std.celldict.ModuleDictStrategy.inst_version> -> %r1
 283  -live- %r0, %r1, %r2, %r3, %r5
 286  ref_guard_value %r3
 288  -live- %r0, %r1, %r2, %r3, %r5
 291  ref_guard_value %r1
 293  -live- %r0, %r1, %r2, %r3, %r5
 296  ref_guard_value $<* struct pypy.objspace.std.dictmultiobject.W_DictMultiObject>
 298  residual_call_r_r $<* fn _getdictvalue_no_unwrapping_pure>, R[%r3, %r1, $<* struct pypy.objspace.std.dictmultiobject.W_DictMultiObject>, %r2], <CallDescr(rrrr) EF=4> -> %r1
 308  -live- %r0, %r1, %r2, %r3, %r5
 311  goto_if_not_ptr_iszero %r1, L11
 315  goto L5
 318  ---
 318  L11:
 318  inline_call_r_r <JitCode 'ModuleDictStrategy.get_global_cache'>, R[%r3, $<* struct pypy.objspace.std.dictmultiobject.W_ModuleDictObject>, %r2] -> %r3
 326  -live- %r0, %r2, %r3, %r5
 329  setfield_gc_r %r5, %r3, FieldDescr<pypy.objspace.std.celldict.GlobalCache.inst_builtincache>
 334  goto L5
 337  ---
 337  L10:
 337  goto L5
 340  ---
 340  L3:
 340  goto L5
 343  ---
 343  L1:
 343  inline_call_r_r <JitCode 'll_dict_get__dicttablePtr_rpy_stringPtr_GCREFPtr'>, R[%r3, %r2, $<* None>] -> %r3
 351  -live- %r0, %r1, %r2, %r3
 354  goto_if_not_ptr_iszero %r3, L12
 358  goto L2
 361  ---
 361  L12:
 361  ref_return %r3
