US 11,656,880 B2
Function evaluation using multiple values loaded into registers by a single instruction
David William Knox, Bristol (GB); Michael John Davis, Bath (GB); and Adrian John Anderson, Chepstow (GB)
Assigned to Nordic Semiconductor ASA, Trondheim (NO)
Filed by Nordic Semiconductor ASA, Trondheim (NO)
Filed on Dec. 9, 2019, as Appl. No. 16/706,905.
Application 16/706,905 is a division of application No. 14/661,376, filed on Mar. 18, 2015, granted, now 10,528,365.
Claims priority of application No. 1404822 (GB), filed on Mar. 18, 2014.
Prior Publication US 2020/0117475 A1, Apr. 16, 2020
Int. Cl. G06F 9/30 (2018.01); G06F 8/41 (2018.01); G06F 9/448 (2018.01); G06F 9/38 (2018.01)
CPC G06F 9/4484 (2018.02) [G06F 8/441 (2013.01); G06F 8/443 (2013.01); G06F 8/447 (2013.01); G06F 9/3005 (2013.01); G06F 9/30043 (2013.01); G06F 9/3881 (2013.01)] 20 Claims
OG exemplary drawing
1. A method of generating an executable program from a code file, wherein the program is arranged to evaluate a function when executed on a processor, the method comprising:
analyzing data describing a programmatic interface for the function, the interface defining an argument expression relating a constant or symbol representing an internal value used solely within the function to a respective register;
reading from the code file an argument declaration defining an argument value to be provided to the function when the program is executed on the processor, wherein the argument value comprises a constant or symbol representing a value defined elsewhere in the program code and the argument declaration specifies the argument value is to be provided to the function as an argument corresponding to the symbol in the argument expression;
generating a data structure comprising the internal value and a resolved argument value derived from the argument expression and the argument value from the code file; and
encoding in the executable program a single instruction to cause the processor to load the internal value and resolved argument value from the data structure into a specified plurality of registers on the processor, prior to evaluating the function.