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([])
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) return self.known_offsets
def visit_fn(self, fn): SyntaxVisitor.visit_fn(self, fn) if self.return_value is None: return unknown else: return self.return_value