Exemplo n.º 1
0
 def visit_fn(self, fn):
   self.volatile_vars.push(fn.arg_names)
   self.may_alias = may_alias(fn)
   SyntaxVisitor.visit_fn(self, fn)
   return self.safe_to_move
Exemplo n.º 2
0
 def visit_fn(self, fn):
   escape_info = escape_analysis(fn, self.fresh_alloc_args)
   self.may_alias = escape_info.may_alias 
   SyntaxVisitor.visit_fn(self, fn)
   self.writes = set([])
Exemplo n.º 3
0
 def visit_fn(self, fn):
   for name in fn.arg_names:
     self.created_on[name] = 0
   SyntaxVisitor.visit_fn(self, fn)
Exemplo n.º 4
0
 def visit_fn(self, fn):
   SyntaxVisitor.visit_fn(self, fn)
   return self.known_offsets
Exemplo n.º 5
0
 def visit_fn(self, fn):
   for name in fn.arg_names:
     self.created_on[name] = 0
   SyntaxVisitor.visit_fn(self, fn)
Exemplo n.º 6
0
 def visit_fn(self, fn):
   SyntaxVisitor.visit_fn(self, fn)
   if self.return_value is None:
     return unknown 
   else:
     return self.return_value
Exemplo n.º 7
0
 def visit_fn(self, fn):
   escape_info = escape_analysis(fn, self.fresh_alloc_args)
   self.may_alias = escape_info.may_alias 
   SyntaxVisitor.visit_fn(self, fn)
   self.writes = set([])