Method, apparatus and computer program product for optimizing registers
in a stack using a register allocator
    1.
    发明授权
    Method, apparatus and computer program product for optimizing registers in a stack using a register allocator 失效
    用于使用寄存器分配器优化堆栈中的寄存器的方法,装置和计算机程序产品

    公开(公告)号:US6018799A

    公开(公告)日:2000-01-25

    申请号:US121167

    申请日:1998-07-22

    CPC分类号: G06F8/441 G06F8/443

    摘要: Apparatus, methods and computer program products are disclosed that enable a compiler to generate efficient code to access stack registers on a register stack. The invention operates by transforming a three-operand instruction, within a compiler's intermediate representation, to one or more fewer-than-three-operand instructions. The invention also transforms the instruction's operand addressing from an access to a pseudo-named register to an access to a stack register through stack offset into a register stack. The invention also determines the register stack state at each instruction responsive to register stack permutations and maps the stack offset accordingly for each subsequent access to a stack register.

    摘要翻译: 公开了装置,方法和计算机程序产品,其使得编译器能够生成有效代码来访问寄存器堆栈上的堆栈寄存器。 本发明通过将编译器的中间表示中的三操作数指令变换成一个或多个少于三个操作数的指令来进行操作。 本发明还将指令的操作数寻址从访问伪命名寄存器转换为通过堆栈偏移到堆栈寄存器的访问到寄存器堆栈。 本发明还响应于寄存器堆栈排列确定每个指令处的寄存器堆栈状态,并相应地映射堆栈偏移量,以便每次后续访问堆栈寄存器。

    System and method for cloaking software
    3.
    发明授权
    System and method for cloaking software 失效
    隐藏软件的系统和方法

    公开(公告)号:US06192475B1

    公开(公告)日:2001-02-20

    申请号:US09048138

    申请日:1998-03-25

    申请人: David R. Wallace

    发明人: David R. Wallace

    IPC分类号: H04L900

    CPC分类号: G06F21/14

    摘要: A system and method for rewriting software into a protected form, called cloaked software, such that this cloaked form is protected from analysis or reverse engineering while at the same time the cloaked software is executable. Further, said cloaked software may be set up so that it requires a correct key or keys to be supplied, when it is to be run, for it to execute correctly. Cloaking modifies the basic operations within the software so that the logical connections or data flow among the program operations is no longer visible. In fact, cloaking makes the correct dataflow among operations dependent on a complex interrelated set of addressing operations within the cloaked program. These addressing operations are designed so that their analysis is equivalent to a computationally intractable NP-complete problem. This situation prevents reverse-engineering and unauthorized tampering. Further, these interrelated addressing operations may be set up to use a key or keys in a way that is integral to their operation. This makes the key or keys necessary for correct program operation in such a way that removing the program's need for the keys requires the solution of an NP-complete problem.

    摘要翻译: 将软件重写为受保护形式的系统和方法,称为掩蔽软件,使得该隐形形式被保护免受分析或逆向工程,同时隐藏的软件可执行。 此外,所述隐藏的软件可以被设置为使得当它被运行时需要提供正确的键或键,以使其正确地执行。 伪装修改软件中的基本操作,以使程序操作中的逻辑连接或数据流不再可见。 事实上,伪装使操作之间的正确数据流依赖于隐藏的程序中复杂的相互关联的寻址操作集合。 这些寻址操作被设计为使得它们的分析等同于计算上难以处理的NP完成问题。 这种情况可以防止逆向工程和未经授权的篡改。 此外,这些相互关联的寻址操作可以被设置为以与其操作成一体的方式使用密钥或密钥。 这使得正确的程序操作所需的键或键以这样的方式,即消除程序对键的需要需要解决NP完成问题。

    Determination of array padding using collision vectors
    4.
    发明授权
    Determination of array padding using collision vectors 失效
    使用碰撞向量确定阵列填充

    公开(公告)号:US5943691A

    公开(公告)日:1999-08-24

    申请号:US579435

    申请日:1995-12-27

    IPC分类号: G06F9/45 G06F12/08 G06F11/00

    CPC分类号: G06F8/4442 G06F12/0864

    摘要: A method and apparatus is provided for determining and resolving cache conflicts among data arrays that are stored in the main memory of a computer system in which the main memory is coupled with a memory cache that is coupled in turn with a microprocessor. According to the method of the invention, a cache shape vector that characterizes the size and dimension of the cache is determined under computer control. A determination of at least one cache conflict among the arrays stored in the main memory is then determined, in addition to the conflict region in the cache for the conflicting arrays. A padding value is then determined for the arrays stored in the main memory, and the memory locations of the arrays are adjusted in accordance with the padding value to prevent cache conflicts when the data from the conflicting arrays is transferred from the main memory into the cache.

    摘要翻译: 提供了一种用于确定和解决存储在计算机系统的主存储器中的数据阵列之间的高速缓存冲突的方法和装置,其中主存储器与依次与微处理器耦合的存储器高速缓存耦合。 根据本发明的方法,在计算机控制下确定表征高速缓存的大小和尺寸的高速缓存形状向量。 此外,除了冲突阵列的缓存中的冲突区域之外,还确定存储在主存储器中的阵列之间的至少一个高速缓存冲突的确定。 然后,为存储在主存储器中的阵列确定填充值,并且根据填充值来调整阵列的存储器位置,以防止冲突阵列的数据从主存储器传输到高速缓存器时发生高速缓存冲突 。

    Intervalometer time measurement apparatus and method
    6.
    发明授权
    Intervalometer time measurement apparatus and method 失效
    间隔时间测量装置及方法

    公开(公告)号:US4515021A

    公开(公告)日:1985-05-07

    申请号:US518738

    申请日:1983-07-29

    IPC分类号: G01F1/66 G01P5/24 G01S7/28

    摘要: An intervalometer for determining the transit time of an ultrasonic energy pulse through a fluid medium employs an automatic gain control amplifier circuit for amplitude stabilizing the electrical signal derived at a receiving transducer. The automatic gain control circuit tracks both a rapidly increasing and a rapidly decreasing signal amplitude. In various embodiments, synchronous switching can be employed in conjunction with a single amplifier and a plurality of storage elements to rapidly scan a plurality of signal paths and for providing automatic gain control capability on each path. The intervalometer further has a "slipped cycle" capability for accurately determining arrival time when is is known that the signal pulse will be within a certain range of times. In addition, the relative time difference between two arriving signal pulses can be accurately determined using this method so long as the range of time difference is sufficiently small. The intervalometer also provides for bad data rejection based upon limits applied to either transit time or signal amplitude.

    摘要翻译: 用于确定超声波能量脉冲通过流体介质的传播时间的间隔仪使用自动增益控制放大器电路,用于使在接收换能器处导出的电信号稳定。 自动增益控制电路跟踪快速增加和迅速减小的信号幅度。 在各种实施例中,可以结合单个放大器和多个存储元件来采用同步切换来快速扫描多个信号路径并在每个路径上提供自动增益控制能力。 当已知信号脉冲将在一定时间范围内时,间隔计还具有用于精确地确定到达时间的“滑动循环”能力。 此外,只要时间差的范围足够小,就可以使用该方法来精确地确定两个到达信号脉冲之间的相对时间差。 间隔仪还根据应用于通过时间或信号幅度的限制,提供不良数据拒绝。

    VINYL POLYMER WETTING AND DISPERSING AGENT
    7.
    发明申请
    VINYL POLYMER WETTING AND DISPERSING AGENT 有权
    VINYL POLYMER润湿和分散剂

    公开(公告)号:US20120004359A1

    公开(公告)日:2012-01-05

    申请号:US13255862

    申请日:2010-03-12

    IPC分类号: C08L39/04 C08F226/06

    摘要: A vinyl polymer pigment dispersing agent having a vinyl addition polymer backbone, one or more polymer side chains with pendant cyclic urea functional group(s) separated from the polymer backbone by at least 10 intervening atoms, and in some embodiments one or more polymer side chains comprising pendant urea functional groups separated from the polymer back-bone by less than 10 intervening atoms. The dispersing agent may be made by addition polymerizing a mixture of one or more vinyl monomers and one or more monomers having cyclic urea functional groups and vinyl functional groups. The dispersing agent may be combined with pigment particles, a carrier and an optional surfactant to make a pigment grind dispersion with excellent pigment wetting and dispersing properties.

    摘要翻译: 一种乙烯基聚合物颜料分散剂,其具有乙烯基加成聚合物主链,一个或多个具有侧链环脲官能团的聚合物侧链通过至少10个中间原子与聚合物主链分离,并且在一些实施方案中为一个或多个聚合物侧链 包括从聚合物背骨分离少于10个中间原子的侧链脲官能团。 分散剂可以通过加成聚合一种或多种乙烯基单体和一种或多种具有环状脲官能团和乙烯基官能团的单体的混合物来制备。 分散剂可以与颜料颗粒,载体和任选的表面活性剂组合以制备具有优异的颜料润湿和分散性能的颜料研磨分散体。

    Method and apparatus for conflict-based block reordering
    9.
    发明授权
    Method and apparatus for conflict-based block reordering 失效
    用于基于冲突的块重新排序的方法和装置

    公开(公告)号:US5933644A

    公开(公告)日:1999-08-03

    申请号:US878436

    申请日:1997-06-18

    申请人: David R. Wallace

    发明人: David R. Wallace

    IPC分类号: G06F9/45

    CPC分类号: G06F8/433 G06F8/445

    摘要: A method and apparatus for ordering blocks of code by a compiler. The compiler generates a conflict graph in accordance with the blocks of a computer program being compiled. Once the conflict graph is generated, a preferred embodiment of the present invention finds maximum weight independent set (MWS) of nodes in the conflict graph. By definition, the nodes in the MWS have no flow control conflicts between them. The compiler then generates an object program having blocks ordered in accordance with the maximum weight independent set.

    摘要翻译: 一种由编译器排序代码块的方法和装置。 编译器根据正在编译的计算机程序的块生成冲突图。 一旦生成了冲突图,本发明的优选实施例就在冲突图中找到节点的最大权重独立集(MWS)。 根据定义,MWS中的节点之间没有流量控制冲突。 然后,编译器生成具有根据最大权重独立集合排序的块的对象程序。

    Crib
    10.
    发明授权
    Crib 失效
    婴儿床

    公开(公告)号:US4715074A

    公开(公告)日:1987-12-29

    申请号:US882787

    申请日:1986-07-07

    IPC分类号: A47D7/03 A47D7/00

    CPC分类号: A47D7/02 A47D7/03

    摘要: A novel, safer crib structure is provided herein. This invention provides a crib in which the mattress can be selectively supported at two different heights with respect to the sides of the crib. In one embodiment, the mattress support is a sheet of plywood securely held in a groove in each of the facing end gables. A fixed height back wall is hinged to the end gables. The front wall is a drop side wall vertically slidably secured to the end gables. To change the height of the mattress, the drop side front wall is slidably removed, the sheet of plywood is slid out of one groove and slid into another groove, and the dropside front wall is again slidably secured to the end gables. In a preferred embodiment, a single groove is used to retain the mattress support, but the end gables are affixed to the back wall in such way that one gable is higher than the other gable. Wheels or castors are provided under the shorter gable to provide a level orientation. The single groove is preferably disposed at a location in the end gables corresponding to one-third of the height of the back wall. When it is desired to change the height of the mattress it is necessary only to invert the crib, to remove the wheels or castors from the top of one end gable and to insert them at the bottom of the other end gable.

    摘要翻译: 本文提供了一种新颖的,更安全的婴儿床结构。 本发明提供了一种婴儿床,其中可以相对于婴儿床的侧面在两个不同的高度选择性地支撑床垫。 在一个实施例中,床垫支撑件是一块胶合板,牢固地保持在每个面对端壁中的凹槽中。 固定的高度后壁铰接到端部的山墙。 前壁是垂直可滑动地固定到端部山墙的下侧壁。 为了改变床垫的高度,液滴侧前壁可滑动地移除,胶合板片从一个凹槽中滑出并滑入另一个凹槽中,并且下侧的前壁再一次可滑动地固定在端壁上。 在一个优选实施例中,使用单个凹槽来保持床垫支撑件,但是端壁连接到后壁,使得一个山墙高于另一个山墙。 在较短的山墙下提供轮子或脚轮以提供水平方位。 单个槽优选地设置在对应于后壁的高度的三分之一的端部壁板中的位置处。 当希望改变床垫的高度时,只需要颠倒婴儿床,从一端山墙的顶部移除轮子或脚轮并将其插入另一端山墙的底部。