C++ ojbect model alternatives
    6.
    发明授权
    C++ ojbect model alternatives 失效
    C ++ ojbect模型替代

    公开(公告)号:US5794041A

    公开(公告)日:1998-08-11

    申请号:US761545

    申请日:1996-12-06

    IPC分类号: G06F9/42 G06F9/45

    CPC分类号: G06F9/443

    摘要: Alternatives for laying out objects and/or virtual function tables (VFTs), sharing a virtual function table pointer with a direct, virtual base, eliminating the need for an early cast by increasing the number of virtual function table entries, and providing a smart virtual dispatch that eliminates late casts where possible. An object model can be constructed by choosing one option from each of several alternatives. Interaction of alternatives include (1) sharing VFT pointers with a direct, virtual base requires that virtual base pointers are not stored in objects and (2) sharing VFT pointers affects the sharing of virtual base pointers with base classes and placement of late cast adjustment arguments and determining virtual function table entries.

    摘要翻译: 用于布置对象和/或虚拟功能表(VFT)的替代方案,共享具有直接虚拟基础的虚拟功能表指针,消除了通过增加虚拟功能表条目数量的早期演员的需要,并提供智能虚拟 派遣,尽可能消除后期演员。 可以通过从几种替代方案中选择一个选项来构建对象模型。 替代方案的交互包括:(1)使用直接的虚拟基础共享VFT指针,要求虚拟基指针不存储在对象中,(2)共享VFT指针会影响虚拟基指针与基类和后期转换调整参数的放置 以及确定虚拟功能表条目。

    Interprocedural data-flow analysis that supports recursion while only
performing one flow-sensitive analysis of each procedure
    7.
    发明授权
    Interprocedural data-flow analysis that supports recursion while only performing one flow-sensitive analysis of each procedure 失效
    支持递归的过程间数据流分析,同时只执行每个过程的一个流敏分析

    公开(公告)号:US5671419A

    公开(公告)日:1997-09-23

    申请号:US490879

    申请日:1995-06-15

    IPC分类号: G06F9/45 G06F9/44

    CPC分类号: G06F8/433

    摘要: A computer implemented method performs flow-sensitive interprocedural data flow analysis without iteration for a class of interprocedural problems. The accuracy of the solution can approach the iterative result without the compile time cost. For interprocedural constant propagation (ICP), this method is more effective than existing methods and costs about the same compilation time. For flow-sensitive ICP over a program call graph (PCG), the method supports recursion while only performing one flow-sensitive analysis of each routine. If the PCG has cycles, a flow-insensitive solution is precomputed for constant propagation. During the flow-sensitive computation, the flow-insensitive result is used for a back edge. This permits a flow-sensitive solution to be obtained in one forward traversal of the PCG. This method can also be used to compute returned constants with one reverse traversal of the PCG. For flow-sensitive USE over a program call graph (PCG), the method supports recursion while only performing one flow-sensitive analysis of each routine. If the PCG has cycles, a flow-insensitive solution for a reference set (REF) is precomputed. During the flow-sensitive USE computation, the flow-insensitive REF solution is used for a back edge. This permits a flow-sensitive USE solution to be obtained in one reverse traversal of the PCG.

    摘要翻译: 一种计算机实现的方法执行流敏感的过程间数据流分析,而不会对一类过程中的问题进行迭代。 解决方案的准确性可以在没有编译时间成本的情况下接近迭代结果。 对于过程间常数传播(ICP),该方法比相同编译时间的现有方法和成本更有效。 对于通过程序调用图(PCG)的流敏ICP,该方法支持递归,同时仅执行每个例程的一个流敏分析。 如果PCG具有循环,则不预先计算流量不敏感的解决方案以进行恒定传播。 在流敏感计算过程中,流量不敏感的结果用于后边缘。 这允许在PCG的一次正向穿越中获得流敏感解决方案。 该方法也可用于通过PCG的一次反向遍历来计算返回的常数。 对于通过程序调用图(PCG)的流敏的USE,该方法支持递归,同时仅执行每个例程的一个流敏分析。 如果PCG具有循环,则预先计算参考集(REF)的流量不敏感解决方案。 在流敏感的USE计算中,流量不敏感的REF解决方案用于后沿。 这允许在PCG的一次反向遍历中获得流敏的USE解决方案。