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 |
1. One or more non-transitory computer readable media storing instructions which, when executed by one or more hardware processors, cause:
identifying, by a runtime environment, a first instruction to call an application programming interface (API) point, wherein an unspecialized type includes the API point;
determining whether the first instruction indicates any expected specialized type associated with the API point;
responsive to determining that the first instruction indicates a first expected specialized type associated with the API point:
performing, by the runtime environment, a first optimized access associated with the API point based on a first type restriction derived from the first expected specialized type;
identifying, by the runtime environment, a second instruction to call the API point;
determining whether the second instruction indicates any expected specialized type associated with the API point;
responsive to determining that the second instruction does not indicate any expected specialized type associated with the API point:
performing, by the runtime environment, a particular access associated with the API point based on a type of the API point as indicated by the unspecialized type.
|