Patents by Inventor Robert John McCall
Robert John McCall has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 9952841Abstract: In one embodiment, an improved programming system and language for application development is provided that combines elements of the C and Objective-C languages without the constraints imposed by a requirement to maintain compatibility with the C language. The language provides the functionality of the C language compatibility in certain areas to improve the inherent safety of software written in the language. The new language includes default safety considerations such as bounds and overflow checking.Type: GrantFiled: April 13, 2016Date of Patent: April 24, 2018Assignee: Apple Inc.Inventors: Christopher A. Lattner, Douglas Paul Gregor, Theodore Merrell Kremenek, Robert John McCall, Joe Groff
-
Publication number: 20160299747Abstract: In one embodiment, an improved programming system and language for application development is provided that combines elements of the C and Objective-C languages without the constraints imposed by a requirement to maintain compatibility with the C language. The language provides the functionality of the C language compatibility in certain areas to improve the inherent safety of software written in the language. The new language includes default safety considerations such as bounds and overflow checking.Type: ApplicationFiled: April 13, 2016Publication date: October 13, 2016Inventors: Christopher A. Lattner, Douglas Paul Gregor, Theodore Merrell Kremenek, Robert John McCall, Joe Groff
-
Patent number: 9195486Abstract: Observation and analysis based optimization of software code is disclosed. An expected value is chosen for a dynamic attribute that cannot be determined, prior to execution of the associated software code, to be guaranteed to have that expected value at runtime. An optimized version of the software code is generated, including one or more optimizations based on an assumption that the dynamic attribute will have the expected value. Non-exhaustive examples of a dynamic attribute include a variable type; a location in memory; a location in which a global object, property, or variable is stored; the contents of a global function or method; and a value of a global property or variable. A check is performed during execution of the optimized version of the software code, prior to executing the portion that has been optimized based on the assumption, to verify that the dynamic attribute has the expected value.Type: GrantFiled: July 30, 2010Date of Patent: November 24, 2015Assignee: Apple Inc.Inventors: Victor Leonel Hernandez Porras, Christopher Arthur Lattner, Jia-Hong Chen, Eric Marshall Christopher, Roger Scott Hoover, Francois Jouaux, Robert John McCall, Thomas John O'Brien, Pratik Solanki
-
Patent number: 9146759Abstract: Techniques for processing source code written in a traditionally interpreted language such as JavaScript, or another dynamic and/or interpreted language, are disclosed. In one example, compiled code associated with the source code is constructed and executed. An assumption on which a specific aspect of the compiled code is based (e.g., an optimization) is tested at a checkpoint of the compiled code. A roll over to fallback code is performed if the test indicates the assumption is not true.Type: GrantFiled: July 30, 2010Date of Patent: September 29, 2015Assignee: Apple Inc.Inventors: Victor Leonel Hernandez Porras, Christopher Arthur Lattner, Jia-Hong Chen, Eric Marshall Christopher, Roger Scott Hoover, Francois Jouaux, Robert John McCall, Thomas John O'Brien, Pratik Solanki
-
Patent number: 8561045Abstract: Techniques for processing computer code are disclosed. In one example, an indication that a computer code is to begin execution at a portion of code other than a starting portion of the code is received, and a runtime state associated with the portion of the code at which execution is to begin is constructed. In some examples, execution of the portion of code is initiated. In some examples, a program counter associated with the portion of the code is used to initiate execution of the code. In some examples, the computer code comprises a fallback code associated with a previously executing code.Type: GrantFiled: July 30, 2010Date of Patent: October 15, 2013Assignee: Apple Inc.Inventors: Victor Leonel Hernandez Porras, Christopher Arthur Lattner, Jia-Hong Chen, Eric Marshall Christopher, Roger Scott Hoover, Francois Jouaux, Robert John McCall, Thomas John O'Brien, Pratik Solanki
-
Publication number: 20120030653Abstract: Techniques for processing source code written in a traditionally interpreted language such as JavaScript, or another dynamic and/or interpreted language, are disclosed. In one example, compiled code associated with the source code is constructed and executed. An assumption on which a specific aspect of the compiled code is based (e.g., an optimization) is tested at a checkpoint of the compiled code. A roll over to fallback code is performed if the test indicates the assumption is not true.Type: ApplicationFiled: July 30, 2010Publication date: February 2, 2012Applicant: APPLE INC.Inventors: Victor Leonel Hernandez Porras, Christopher Arthur Lattner, Jia-Hong Chen, Eric Marshall Christopher, Roger Scott Hoover, Francois Jouaux, Robert John McCall, Thomas John O'Brien, Pratik Solanki
-
Publication number: 20120030661Abstract: Observation and analysis based optimization of software code is disclosed. An expected value is chosen for a dynamic attribute that cannot be determined, prior to execution of the associated software code, to be guaranteed to have that expected value at runtime. An optimized version of the software code is generated, including one or more optimizations based on an assumption that the dynamic attribute will have the expected value. Non-exhaustive examples of a dynamic attribute include a variable type; a location in memory; a location in which a global object, property, or variable is stored; the contents of a global function or method; and a value of a global property or variable. A check is performed during execution of the optimized version of the software code, prior to executing the portion that has been optimized based on the assumption, to verify that the dynamic attribute has the expected value.Type: ApplicationFiled: July 30, 2010Publication date: February 2, 2012Applicant: APPLE INC.Inventors: Victor Leonel Hernandez Porras, Christopher Arthur Lattner, Jia-Hong Chen, Eric Marshall Christopher, Roger Scott Hoover, Francois Jouaux, Robert John McCall, Thomas John O'Brien, Pratik Solanki
-
Publication number: 20120030659Abstract: Techniques for processing computer code are disclosed. In one example, an indication that a computer code is to begin execution at a portion of code other than a starting portion of the code is received, and a runtime state associated with the portion of the code at which execution is to begin is constructed. In some examples, execution of the portion of code is initiated. In some examples, a program counter associated with the portion of the code is used to initiate execution of the code. In some examples, the computer code comprises a fallback code associated with a previously executing code.Type: ApplicationFiled: July 30, 2010Publication date: February 2, 2012Applicant: APPLE INC.Inventors: Victor Leonel Hernandez Porras, Christopher Arthur Lattner, Jia-Hong Chen, Eric Marshall Christopher, Roger Scott Hoover, Francois Jouaux, Robert John McCall, Thomas John O'Brien, Pratik Solanki