@@ -177,10 +177,10 @@ class LocalObject(AbstractObject, LocalType):
177177 """
178178
179179 __rargs__ = ('name' ,)
180- __rkwargs__ = ('cargs' , 'initvalue' , 'liveness' , 'is_global ' )
180+ __rkwargs__ = ('cargs' , 'initvalue' , 'liveness' , 'scope ' )
181181
182182 def __init__ (self , name , cargs = None , initvalue = None , liveness = 'lazy' ,
183- is_global = False , ** kwargs ):
183+ scope = 'stack' , ** kwargs ):
184184 self .name = name
185185 self .cargs = as_tuple (cargs )
186186
@@ -192,16 +192,17 @@ def __init__(self, name, cargs=None, initvalue=None, liveness='lazy',
192192 assert liveness in ['eager' , 'lazy' ]
193193 self ._liveness = liveness
194194
195- self ._is_global = is_global
195+ assert scope in ['stack' , 'shared' , 'global' ]
196+ self ._scope = scope
196197
197198 def _hashable_content (self ):
198199 return (super ()._hashable_content () +
199200 self .cargs +
200- (self .initvalue , self .liveness , self .is_global ))
201+ (self .initvalue , self .liveness , self .scope ))
201202
202203 @property
203- def is_global (self ):
204- return self ._is_global
204+ def scope (self ):
205+ return self ._scope
205206
206207 @property
207208 def free_symbols (self ):
@@ -235,6 +236,10 @@ def _C_free(self):
235236 """
236237 return None
237238
239+ @property
240+ def _mem_shared (self ):
241+ return self ._scope == 'shared'
242+
238243 @property
239244 def _mem_global (self ):
240- return self ._is_global
245+ return self ._scope == 'global'
0 commit comments