Esempio n. 1
0
 def gct_direct_call(self, hop):
     fnptr = hop.spaceop.args[0].value
     try:
         close_stack = fnptr._obj._callable._gctransformer_hint_close_stack_
     except AttributeError:
         close_stack = False
     if close_stack:
         self.handle_call_with_close_stack(hop)
     else:
         FrameworkGCTransformer.gct_direct_call(self, hop)
Esempio n. 2
0
    def __init__(self, translator):
        FrameworkGCTransformer.__init__(self, translator)
        # and now, fun fun fun, we need to inline malloc_fixedsize
        # manually into all 'malloc' operation users, because inlining
        # it after it has been stackless transformed is both a Very
        # Bad Idea and forbidden by the fact that stackless transform
        # makes it self-recursive!  Argh.
##        self.replace_and_inline_malloc_already_now()
        # nothing left to inline during code generation
        self.inline = False
Esempio n. 3
0
 def gct_direct_call(self, hop):
     fnptr = hop.spaceop.args[0].value
     try:
         close_stack = fnptr._obj._callable._gctransformer_hint_close_stack_
     except AttributeError:
         close_stack = False
     if close_stack:
         self.handle_call_with_close_stack(hop)
     else:
         FrameworkGCTransformer.gct_direct_call(self, hop)
Esempio n. 4
0
 def __init__(self, translator):
     FrameworkGCTransformer.__init__(self, translator)
     # and now, fun fun fun, we need to inline malloc_fixedsize
     # manually into all 'malloc' operation users, because inlining
     # it after it has been stackless transformed is both a Very
     # Bad Idea and forbidden by the fact that stackless transform
     # makes it self-recursive!  Argh.
     ##        self.replace_and_inline_malloc_already_now()
     # nothing left to inline during code generation
     self.inline = False