US 11,782,774 B2
Implementing optional specialization when compiling code
John Robert Rose, San Jose, CA (US); Maurizio Cimadamore, Donabate (IE); and Brian Goetz, Williston, VT (US)
Assigned to Oracle International Corporation, Redwood Shores, CA (US)
Filed by Oracle International Corporation, Redwood Shores, CA (US)
Filed on Jan. 7, 2022, as Appl. No. 17/571,329.
Claims priority of provisional application 63/163,723, filed on Mar. 19, 2021.
Claims priority of provisional application 63/163,726, filed on Mar. 19, 2021.
Claims priority of provisional application 63/163,697, filed on Mar. 19, 2021.
Claims priority of provisional application 63/163,701, filed on Mar. 19, 2021.
Prior Publication US 2022/0300264 A1, Sep. 22, 2022
Int. Cl. G06F 9/54 (2006.01); G06F 8/41 (2018.01); G06F 16/28 (2019.01); G06F 16/22 (2019.01); G06F 9/448 (2018.01); G06F 9/445 (2018.01); G06F 9/30 (2018.01); G06F 9/451 (2018.01); G06F 12/02 (2006.01); G06F 9/455 (2018.01)
CPC G06F 9/547 (2013.01) [G06F 8/41 (2013.01); G06F 8/437 (2013.01); G06F 9/30076 (2013.01); G06F 9/4488 (2018.02); G06F 9/4494 (2018.02); G06F 9/4498 (2018.02); G06F 9/44521 (2013.01); G06F 9/44536 (2013.01); G06F 9/451 (2018.02); G06F 9/45516 (2013.01); G06F 9/541 (2013.01); G06F 9/542 (2013.01); G06F 9/548 (2013.01); G06F 12/023 (2013.01); G06F 16/2272 (2019.01); G06F 16/2291 (2019.01); G06F 16/289 (2019.01)] 20 Claims
OG exemplary drawing
 
1. One or more non-transitory computer readable storage media storing instructions which, when executed by one or more hardware processors, cause:
identifying, by a compiler, a first source code instruction to call an application programming interface (API) point associated with a generic type;
determining, by the compiler, whether the first source code instruction indicates any parameterized type for the generic type;
responsive to determining that the first source code instruction indicates a first parameterized type for the generic type:
compiling, by the compiler, the first source code instruction to generate a first compiled source code instruction to call the API point, wherein the first compiled source code instruction indicates the first parameterized type for the generic type;
identifying, by the compiler, a second source code instruction to call the API point associated with the generic type;
determining, by the compiler, whether the second source code instruction indicates any parameterized type for the generic type; and
responsive to determining that the second source code instruction does not indicate any parameterized type for the generic type:
compiling, by the compiler, the second source code instruction to generate a second compiled source code instruction to call the API point, wherein the second compiled source code instruction does not indicate any parameterized type for the generic type.