The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Feb. 04, 2014
Filed:
Jan. 04, 2010
Christopher Arthur Lattner, San Jose, CA (US);
Tanya Michelle Lattner, San Jose, CA (US);
Julien Lerouge, Santa Clara, CA (US);
Ginger M. Myles, San Jose, CA (US);
Augustin J. Farrugia, Cupertino, CA (US);
Pierre Betouin, Boulogne, FR;
Christopher Arthur Lattner, San Jose, CA (US);
Tanya Michelle Lattner, San Jose, CA (US);
Julien Lerouge, Santa Clara, CA (US);
Ginger M. Myles, San Jose, CA (US);
Augustin J. Farrugia, Cupertino, CA (US);
Pierre Betouin, Boulogne, FR;
Apple Inc., Cupertino, CA (US);
Abstract
Disclosed herein are systems, methods, and computer-readable storage media for obfuscating by a common function. A system configured to practice the method identifies a set of functions in source code, generates a transformed set of functions by transforming each function of the set of functions to accept a uniform set of arguments and return a uniform type, and merges the transformed set of functions into a single recursive function. The single recursive function can allocate memory in the heap. The stack can contain a pointer to the allocated memory in the heap. The single recursive function can include instructions for creating and explicitly managing a virtual stack in the heap. The virtual stack can emulate what would happen to the real stack if one of the set of functions was called. The system can further compile the source code including the single recursive function.