-
公开(公告)号:CA2453776A1
公开(公告)日:2005-06-19
申请号:CA2453776
申请日:2003-12-19
Applicant: IBM CANADA
Inventor: INGLIS DEREK B , SHEIKH ALI I
Abstract: A method for compiler optimization particularly well suited to object-orient ed language that permit dynamic class loading. The method permits the compiler optimization o f code associated with a potentially polymorphic object that is a call parameter to a virtual procedure where the procedure is a candidate for devirtualization through inlining. The method includes steps for guarded devirtualizing of the procedure, insertion of code to ensure privatization of the object before the procedure is executed, creation of a guard assumptions associated with the object and application of known optimization techniques to the code associated with the object.
-
公开(公告)号:CA2675666A1
公开(公告)日:2009-11-05
申请号:CA2675666
申请日:2009-08-27
Applicant: IBM CANADA
Inventor: SHEIKH ALI I , BOGSANYI FRANCIS J D , JOHNSON GRAEME , LOW ANDREW R , MITRAN MARCEL
IPC: G06F9/455
Abstract: The illustrative embodiments described herein provide a computer implemented method, apparatus, and computer program product for accelerating execution of a program, written in an object oriented programming language, in an emulated environment. In respons e to receiving a request for an accelerated communications session from a guest virtual machi ne in the emulated environment, a native virtual machine is initiated external to the emulated environment but within the computing device hosting the emulated environment. Thereafter, an accelerated communications link is established between the guest virtual machine and the native virtual machine. The accelerated communications link enables a transfer of managed code between the guest virtual machine and the native virtual machine. The managed code is th en executed by the native virtual machine.
-
公开(公告)号:CA2443049A1
公开(公告)日:2005-03-26
申请号:CA2443049
申请日:2003-09-26
Applicant: IBM CANADA
Inventor: SHEIKH ALI I , SUNDARESAN VIJAY
IPC: G06F9/45
Abstract: Dynamically compiled computer program code containing virtual calls can redu ce the options for optimization during compilation. A virtual call can affect sections of the program code that are compiled subsequent to the virtual call. Therefore, th e state under which the effected sections are to be executed may not be known at the time of compilation thus complicating optimization of these sections. If assumptions are made about the state of an effected section, then this section can be optimized. In order to provide proper operation of the executing program code given the optimizatio n, a check of the validity of the assumptions is performed prior to execution of the optimized section. If an assumption does not hold true then the original un-optimized section can be executed to reduce adverse program performance.
-
-