CHANGING DE-OPTIMIZATION GUARD REPRESENTATION DURING THE COMPILATION PROCESS
    1.
    发明申请
    CHANGING DE-OPTIMIZATION GUARD REPRESENTATION DURING THE COMPILATION PROCESS 有权
    在编译过程中更改优化保护代表

    公开(公告)号:US20150227351A1

    公开(公告)日:2015-08-13

    申请号:US14175776

    申请日:2014-02-07

    CPC classification number: G06F8/443 G06F8/54

    Abstract: A method for compiling code includes receiving a code section representation including a guard at a location, placing, at the guard, a triggering condition, and relocating the guard from the location to a second location in the code section representation. The method also includes transforming the guard into a control-split instruction. The control-split instruction includes a deoptimization branch and a continue execution branch. The method further includes placing, at the guard, a deoptimization instruction, and selecting a symbolic frame state linked to a side-effecting instruction. The side-effecting instruction is the last side-effecting instruction before the control-split instruction. The method also includes linking the deoptimization instruction with the symbolic frame state based on the symbolic frame state being linked to the side-effecting instruction, unlinking the symbolic frame state from the side-effecting instruction, and storing the code section representation.

    Abstract translation: 一种用于编译代码的方法包括:在代码段表示中接收包括在位置处的保护的代码段表示,在所述保护处放置触发条件,以及将所述保护从所述位置重新定位到第二位置。 该方法还包括将防卫变换为控制分离指令。 控制分离指令包括去优化分支和继续执行分支。 所述方法还包括在所述保护装置处放置去优化指令,以及选择链接到副作用指令的符号帧状态。 副作用指令是控制分离指令之前的最后一个副作用指令。 该方法还包括:基于与副作用指令链接的符号帧状态,将去最优化指令与符号帧状态相链接,解除与副作用指令的符号帧状态的关联,以及存储代码段表示。

    Self-optimizing interpreter and snapshot compilation
    2.
    发明授权
    Self-optimizing interpreter and snapshot compilation 有权
    自我优化解释器和快照编译

    公开(公告)号:US08930920B2

    公开(公告)日:2015-01-06

    申请号:US13731698

    申请日:2012-12-31

    CPC classification number: G06F9/45508 G06F8/41 G06F8/433 G06F8/443 G06F9/4552

    Abstract: A method for a compiler includes receiving, by the compiler and from an interpreter, a representation of a code section having a control path that changes the representation. The representation has profiling data, and the profiling data has a threshold. The method further includes performing, by the compiler and based on the threshold, a partial evaluation of the interpreter executing the representation, compiling, by the compiler, a machine code of the representation, with the control path replaced by a deoptimization point during the compilation of the machine code, triggering the deoptimization point during execution of the machine code, and returning execution to the interpreter based on the triggering.

    Abstract translation: 一种用于编译器的方法包括由编译器和解释器接收具有改变表示的控制路径的代码段的表示。 该表示具有分析数据,并且分析数据具有​​阈值。 该方法进一步包括由编译器和基于阈值执行执行该表示的解释器的部分评估,由编译器编译表示的机器代码,在编译期间将控制路径替换为去优化点 的机器代码,在执行机器代码期间触发去优化点,并且基于触发将执行返回到解释器。

    Changing de-optimization guard representation during the compilation process
    3.
    发明授权
    Changing de-optimization guard representation during the compilation process 有权
    在编译过程中更改去优化保护代表

    公开(公告)号:US09569185B2

    公开(公告)日:2017-02-14

    申请号:US14175776

    申请日:2014-02-07

    CPC classification number: G06F8/443 G06F8/54

    Abstract: A method for compiling code includes receiving a code section representation including a guard at a location, placing, at the guard, a triggering condition, and relocating the guard from the location to a second location in the code section representation. The method also includes transforming the guard into a control-split instruction. The control-split instruction includes a deoptimization branch and a continue execution branch. The method further includes placing, at the guard, a deoptimization instruction, and selecting a symbolic frame state linked to a side-effecting instruction. The side-effecting instruction is the last side-effecting instruction before the control-split instruction. The method also includes linking the deoptimization instruction with the symbolic frame state based on the symbolic frame state being linked to the side-effecting instruction, unlinking the symbolic frame state from the side-effecting instruction, and storing the code section representation.

    Abstract translation: 一种用于编译代码的方法包括:在代码段表示中接收包括在位置处的保护的代码段表示,在所述保护处放置触发条件,以及将所述保护从所述位置重新定位到第二位置。 该方法还包括将防卫变换为控制分离指令。 控制分离指令包括去优化分支和继续执行分支。 所述方法还包括在所述保护装置处放置去优化指令,以及选择链接到副作用指令的符号帧状态。 副作用指令是控制分离指令之前的最后一个副作用指令。 该方法还包括:基于与副作用指令链接的符号帧状态,将去最优化指令与符号帧状态相链接,将符号帧状态与副作用指令相链接,并存储代码段表示。

    SELF-OPTIMIZING INTERPRETER AND SNAPSHOT COMPILATION
    4.
    发明申请
    SELF-OPTIMIZING INTERPRETER AND SNAPSHOT COMPILATION 有权
    自我优化解释器和快照编译

    公开(公告)号:US20140189661A1

    公开(公告)日:2014-07-03

    申请号:US13731698

    申请日:2012-12-31

    CPC classification number: G06F9/45508 G06F8/41 G06F8/433 G06F8/443 G06F9/4552

    Abstract: A method for a compiler includes receiving, by the compiler and from an interpreter, a representation of a code section having a control path that changes the representation. The representation has profiling data, and the profiling data has a threshold. The method further includes performing, by the compiler and based on the threshold, a partial evaluation of the interpreter executing the representation, compiling, by the compiler, a machine code of the representation, with the control path replaced by a deoptimization point during the compilation of the machine code, triggering the deoptimization point during execution of the machine code, and returning execution to the interpreter based on the triggering.

    Abstract translation: 一种用于编译器的方法包括由编译器和解释器接收具有改变表示的控制路径的代码段的表示。 该表示具有分析数据,并且分析数据具有​​阈值。 该方法进一步包括由编译器和基于阈值执行执行该表示的解释器的部分评估,由编译器编译表示的机器代码,在编译期间将控制路径替换为去优化点 的机器代码,在执行机器代码期间触发去优化点,并且基于触发将执行返回到解释器。

Patent Agency Ranking