-
公开(公告)号:US12216649B2
公开(公告)日:2025-02-04
申请号:US18589052
申请日:2024-02-27
Applicant: Oracle International Corporation
Inventor: Altin Alickaj , Alexander Ulrich , Lukas Stadler
IPC: G06F16/22 , G06F16/21 , G06F16/242
Abstract: In a computer embodiment, in a polyglot database management system (DBMS) that contains a guest language runtime environment, a database buffer is configured that the guest language runtime environment does not manage. In the polyglot DBMS, logic that is defined in a guest language is invoked to retrieve, into the database buffer, a value stored in a database in the polyglot DBMS. Compiling the logic causes semantic analyzing the logic to detect that usage of the retrieved value cannot occur after the retrieved value is overwritten in the database buffer. When detecting that such usage of the retrieved value cannot occur, the logic is executed without, after the retrieved value is overwritten in the database buffer, retaining a copy of the retrieved value in a memory region that the guest language runtime environment manages.
-
公开(公告)号:US10732946B2
公开(公告)日:2020-08-04
申请号:US16413807
申请日:2019-05-16
Applicant: Oracle International Corporation
Inventor: David Leopoldseder , Thomas Wuerthinger , Lukas Stadler
IPC: G06F8/41
Abstract: A method for analyzing a program may include generating an initial control flow graph (CFG) for the program, identifying merge blocks of the initial CFG, identifying predecessor-merge pairs based on identifying predecessor blocks for each merge block, simulating a duplication of each predecessor-merge pair, determining whether the duplication satisfies a precondition of each of a collection of optimizations, applying, in response to satisfying the precondition, the optimization to the duplication, and generating a simulation result for the predecessor-merge pair corresponding to the duplication. The simulation result may include the optimization and a benefit of applying the optimization to the duplication. The method may further include duplicating, in the initial CFG, a predecessor-merge pair based on the simulation result corresponding to the predecessor-merge pair.
-
公开(公告)号:US09836288B2
公开(公告)日:2017-12-05
申请号:US14690592
申请日:2015-04-20
Applicant: Oracle International Corporation
Inventor: Lukas Stadler , Thomas Wuerthinger , Gero Leinemann , Michael Haupt
IPC: G06F9/45
CPC classification number: G06F8/443 , G06F8/41 , G06F8/4441 , G06F8/53
Abstract: The invention relates to a method for generating executable code from application source code. The method steps include determining a programmatic expression using the application source code and determining a first value for the programmatic expression. The method steps further include compiling the programmatic expression into a first optimized code portion using the first value, an assumption, and an expression scope. The method steps further include executing the application source code. The method steps further include determining that the programmatic expression is modified outside of the expression scope, invalidating the assumption, and de-optimizing the first optimized code portion.
-
公开(公告)号:US20140189661A1
公开(公告)日:2014-07-03
申请号:US13731698
申请日:2012-12-31
Applicant: ORACLE INTERNATIONAL CORPORATION
Inventor: Thomas Wuerthinger , Douglas Norman Simon , Christian Wimmer , Lukas Stadler , Gilles Marie Duboscq
IPC: G06F9/45
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: 一种用于编译器的方法包括由编译器和解释器接收具有改变表示的控制路径的代码段的表示。 该表示具有分析数据,并且分析数据具有阈值。 该方法进一步包括由编译器和基于阈值执行执行该表示的解释器的部分评估,由编译器编译表示的机器代码,在编译期间将控制路径替换为去优化点 的机器代码,在执行机器代码期间触发去优化点,并且基于触发将执行返回到解释器。
-
-
-