We define a "rack", a data abstraction hybrid of a register and a stack. It is used for encapsulating the behavior of the kind of register whose contents may have an extent which requires that it be saved during the execution of an unknown piece of code. A rack can be implemented cleverly to achieve performance benefits over the usual implementation of a stack discipline. The basic idea is that we interpose a state machine controller between the rack abstraction and its stack/registers. This controller can act as an on-the-fly run-time peephole optimizer, eliding unnecessary stack operations.
We demonstrate the sorts of savings one might expect by using cleverly implemented racks in the context of a particular caller-saves implementation of an interpreter for the SCHEME dialect of LISP. For sample problems we can expect that only one out of every four pushes that would be done by a conventional machine will be done by the clever version.
我们定义一个“机架”,即寄存器和堆栈的数据抽象混合体。它用于封装某种寄存器的行为,其内容可能具有某种程度,要求在执行未知代码段期间将其保存。可以巧妙地实现机架,以实现比常规的堆叠规范更好的性能。基本思想是,我们在机架抽象及其堆栈/寄存器之间插入一个状态机控制器。该控制器可以充当运行时窥视孔优化器,从而避免了不必要的堆栈操作。 P>
我们展示了在LISP的SCHEME方言的解释器的特定调用者-节省实现的情况下,通过巧妙地实现机架可以预期的节省。对于样本问题,我们可以预期,聪明机器会在常规机器上执行的每四次推送中只有一次。 P>
机译:我一生的梦想
机译:一生的梦想
机译:梦想理论与梦想学校之间的一体化与冲突:将梦想的心理核心素质与当代梦想的大脑相结合
机译:梦想博物馆:通过机器视觉和视觉合成探索“梦想”的视觉体验
机译:在丧亲中检查梦,梦的内容和梦的意义。
机译:在经历亲密合作伙伴暴力的意大利女性的心理咨询中梦想着梦想的心理咨询:对心理学家经验的一种现象学 - 解释分析
机译:你知道什么?终身学习追求美国梦