def w_self(self):
     if self._w_self is not None:
         return self._w_self
     else:
         space = self.space
         w_self = W_PointersObject(space, space.w_MethodContext, self._w_self_size)
         w_self.store_strategy(self)
         self._w_self = w_self
         return w_self
Beispiel #2
0
 def w_self(self):
     if self._w_self is not None:
         return self._w_self
     else:
         space = self.space
         w_self = W_PointersObject(space, space.w_MethodContext,
                                   self._w_self_size)
         w_self.store_strategy(self)
         self._w_self = w_self
         return w_self
Beispiel #3
0
    def build_block_context(space, s_home, argcnt, pc):
        size = s_home.own_size() - s_home.tempsize()
        w_self = W_PointersObject(space, space.w_BlockContext, size)

        ctx = ContextPartShadow(space, w_self, size, space.w_BlockContext)
        ctx.store_expected_argument_count(argcnt)
        ctx.store_w_home(s_home.w_self())
        ctx.store_initialip(pc)
        ctx.store_pc(pc)
        w_self.store_strategy(ctx)
        ctx.init_temps_and_stack()
        return ctx
    def build_block_context(space, s_home, argcnt, pc):
        size = s_home.own_size() - s_home.tempsize()
        w_self = W_PointersObject(space, space.w_BlockContext, size)

        ctx = ContextPartShadow(space, w_self, size, space.w_BlockContext)
        ctx.store_expected_argument_count(argcnt)
        ctx.store_w_home(s_home.w_self())
        ctx.store_initialip(pc)
        ctx.store_pc(pc)
        w_self.store_strategy(ctx)
        ctx.init_temps_and_stack()
        return ctx