US 12,450,040 B2
Framework for user-directed profile-driven optimizations
Teresa Louise Johnson, Los Gatos, CA (US); and Xinliang David Li, Palo Alto, CA (US)
Assigned to Google LLC, Mountain View, CA (US)
Filed by Google LLC, Mountain View, CA (US)
Filed on Apr. 11, 2023, as Appl. No. 18/133,190.
Application 18/133,190 is a continuation of application No. 17/697,119, filed on Mar. 17, 2022, granted, now 11,675,574.
Application 17/697,119 is a continuation of application No. 16/524,929, filed on Jul. 29, 2019, granted, now 11,321,061, issued on May 3, 2022.
Application 16/524,929 is a continuation of application No. 15/701,296, filed on Sep. 11, 2017, granted, now 10,365,903, issued on Jul. 30, 2019.
Application 15/701,296 is a continuation of application No. 13/855,557, filed on Apr. 2, 2013, granted, now 9,760,351, issued on Sep. 12, 2017.
Prior Publication US 2023/0244458 A1, Aug. 3, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 8/41 (2018.01)
CPC G06F 8/443 (2013.01) [G06F 8/4434 (2013.01); G06F 8/4441 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A method for using profiling to determine application-specific values for an application, the method comprising:
receiving, by a computer, identification of one or more user-directed application-specific parameters for which to obtain at least one application-specific value;
collecting, by the computer, profile data by running a user-defined profile update function having a user-defined counter variable to update a counter for the one or more user-directed application-specific parameters, wherein the profile update function is run in a code location where a value of the counter is updated;
analyzing, by the computer, the profile data using a set of standard value profile transformations to determine the at least one application-specific value, wherein the set of standard value profile transformations are specified in user-directed value transformation support interfaces; and
generating, by the computer, an optimized binary utilizing the at least one application-specific value.