'Push an I{object} onto the stack.
@param x: An object to push.
@type x: L{Frame}
@return: The pushed frame.
@rtype: L{Frame}'

def push(self, x):

    if isinstance(x, Frame):
        frame = x
    else:
        frame = Frame(x)
    self.stack.append(frame)
    log.debug('push:    (%s)\n%s', Repr(frame), Repr(self.stack))
    return frame
