US 10,891,210 B2
Dataflow analysis to reduce the overhead of on stack replacement
Andrew Craik, North York (CA); Joseph Devin Micheal Papineau, Markham (CA); and Vijay Sundaresan, North York (CA)
Assigned to International Business Machines Corporation, Armonk, NY (US)
Filed by International Business Machines Corporation, Armonk, NY (US)
Filed on Jul. 16, 2019, as Appl. No. 16/513,200.
Application 16/513,200 is a continuation of application No. 15/859,965, filed on Jan. 2, 2018, granted, now 10,592,387.
Prior Publication US 2019/0340102 A1, Nov. 7, 2019
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 11/36 (2006.01); G06F 9/455 (2018.01); G06F 8/41 (2018.01)
CPC G06F 11/3612 (2013.01) [G06F 8/4441 (2013.01); G06F 8/4443 (2013.01); G06F 9/4552 (2013.01); G06F 9/45525 (2013.01); G06F 9/45529 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
selecting an assumption point in a software program corresponding to a compile-time assumption made by a compiler;
selecting an assumption violation point corresponding to a location in the software program at which the compile-time assumption can be violated at runtime;
in response to propagating backwards in the software program from the assumption point and reaching the assumption violation point:
determining that the assumption point corresponds to a first method and the assumption violation point corresponds a second method that is different from the first method; and
inserting a conditional transition in the software program at the assumption violation point in response to the determining; and
executing a compiled version of the software program that comprises the conditional transition.