@@ -60,6 +60,7 @@ def read(self, obj, name, attrkind):
6060 else :
6161 return attr ._direct_read (obj )
6262
63+ @jit .warmup_critical_function
6364 def write (self , obj , name , attrkind , w_value ):
6465 attr = self .find_map_attr (name , attrkind )
6566 if attr is None :
@@ -800,6 +801,7 @@ def _obj_setdict(self, space, w_dict):
800801 assert flag
801802
802803class MapdictStorageMixin (object ):
804+ @jit .warmup_critical_function
803805 def _get_mapdict_map (self ):
804806 return jit .promote (self .map )
805807 def _set_mapdict_map (self , map ):
@@ -810,6 +812,7 @@ def _mapdict_init_empty(self, map):
810812 self ._set_mapdict_map (map )
811813 self .storage = None
812814
815+ @jit .warmup_critical_function
813816 def _mapdict_read_storage (self , storageindex ):
814817 assert storageindex >= 0
815818 return self .storage [storageindex ]
@@ -872,6 +875,7 @@ def _make_storage_mixin_size_n(n=SUBCLASSES_NUM_FIELDS):
872875 rangenmin1 = unroll .unrolling_iterable (range (nmin1 ))
873876 valnmin1 = "_value%s" % nmin1
874877 class subcls (object ):
878+ @jit .warmup_critical_function
875879 def _get_mapdict_map (self ):
876880 return jit .promote (self .map )
877881 def _set_mapdict_map (self , map ):
@@ -892,7 +896,7 @@ def _mapdict_get_storage_list(self):
892896 erased = getattr (self , valnmin1 )
893897 return unerase_list (erased )
894898
895- # @jit.warmup_critical_function
899+ @jit .warmup_critical_function
896900 def _mapdict_read_storage (self , storageindex ):
897901 assert storageindex >= 0
898902 if storageindex < nmin1 :
0 commit comments