Beispiel #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
 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([])
Beispiel #3
0
 def visit_fn(self, fn):
   for name in fn.arg_names:
     self.created_on[name] = 0
   SyntaxVisitor.visit_fn(self, fn)
Beispiel #4
0
 def visit_fn(self, fn):
   SyntaxVisitor.visit_fn(self, fn)
   return self.known_offsets
Beispiel #5
0
 def visit_fn(self, fn):
   for name in fn.arg_names:
     self.created_on[name] = 0
   SyntaxVisitor.visit_fn(self, fn)
 def visit_fn(self, fn):
   SyntaxVisitor.visit_fn(self, fn)
   if self.return_value is None:
     return unknown 
   else:
     return self.return_value
Beispiel #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([])