Patents by Inventor Solomon Boulos
Solomon Boulos 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: 10025571Abstract: In one aspect, a method includes receiving a code block including one or more variables, performing forward data flow analysis for the code block including generating a control flow graph of the code block and for each operation in the control flow graph determining if the operation provides an update regarding the type of one or more of the operations or variables of the code block, the update being based on one or more rules of type inference, updating a type set of each of the operations or variables where the operation provides an update regarding the type, determining if the operation provides an update regarding the location of the variables, the update being based on one or more rules of location inference and updating a location set of each of the variables where the operation provides an update regarding the location set.Type: GrantFiled: July 17, 2014Date of Patent: July 17, 2018Assignee: Google LLCInventors: Solomon Boulos, Jeremy Sugerman
-
Publication number: 20180129488Abstract: In one aspect, a method for optimizing executing of dynamic language code is provided, the method includes identifying a first dynamic language function call during runtime, the function call including argument values for one or more arguments of the function, calculating a type signature for the one or more argument values of the function, determining if a function associated with the type signature is stored in a cache, looking up the function in the cache when the function associated with the type signature is stored in the cache and dynamically calling the function associated with the type signature when the specialized function for the type signature is not stored in the cache.Type: ApplicationFiled: January 5, 2018Publication date: May 10, 2018Inventors: Solomon BOULOS, Jeremy SUGERMAN
-
Publication number: 20160179489Abstract: In one aspect, a method for optimizing execution of dynamic language code is provided, the method includes identifying a first dynamic language function call during runtime, the function call including argument values for one or more arguments of the function, calculating a type signature for the one or more argument values of the function, determining if a function associated with the type signature is stored in a cache, looking up the function in the cache when the function associated with the type signature is stored in the cache and dynamically calling the function associated with the type signature when the specialized function for the type signature is not stored in the cache.Type: ApplicationFiled: December 16, 2015Publication date: June 23, 2016Inventors: Solomon BOULOS, Jeremy Sugerman
-
Patent number: 9244665Abstract: In one aspect, a method for optimizing execution of dynamic language code is provided, the method includes identifying a first dynamic language function call during runtime, the function call including argument values for one or more arguments of the function, calculating a type signature for the one or more argument values of the function, determining if a function associated with the type signature is stored in a cache, looking up the function in the cache when the function associated with the type signature is stored in the cache and dynamically calling the function associated with the type signature when the specialized function for the type signature is not stored in the cache.Type: GrantFiled: July 17, 2014Date of Patent: January 26, 2016Assignee: Google Inc.Inventors: Solomon Boulos, Jeremy Sugerman
-
Publication number: 20160019035Abstract: in one aspect, a method for optimizing execution of dynamic language code is provided, the method includes identifying a first dynamic language function call during runtime, the function call including argument values for one or more arguments of the function, calculating a type signature for the one or more argument values of the function, determining if a function associated with the type signature is stored in a cache, looking up the function in the cache when the function associated with the type signature is stored in the cache and dynamically calling the function associated with the type signature when the specialized function for the type signature is not stored in the cache.Type: ApplicationFiled: July 17, 2014Publication date: January 21, 2016Inventors: Solomon BOULOS, Jeremy SUGERMAN
-
Patent number: 9104449Abstract: Program code in a dynamic language is executed through a dynamic execution module that includes an execution context and an execution codebase. The instructions of the program code are translated into machine code that is stored in the execution codebase, and the execution context tracks the runtime state and persistent state of the program through executions and across executions. Using the execution codebase and the execution context the dynamic execution module minimizes duplicative machine code generation, while preserving the dynamic aspects of the program.Type: GrantFiled: June 18, 2012Date of Patent: August 11, 2015Assignee: Google Inc.Inventors: Solomon Boulos, Jeremy Sugerman
-
Patent number: 8711145Abstract: The present invention extends to methods, systems, and computer program products for representing polarized light in computer models. A rendering pipeline receives three dimensional modeling data (e.g., geometric primitives) for rendering a two dimensional image are received. The modeling data includes data representing a light source The light energy from the simulated transmission of particles at each pixel of the two dimensional image is calculated for any particles transmitted in an adjoint direction from a specified view point back to the light source. The light energies from each pixel are summed to calculate the total light energy present at the specified view point. The total light energy can be forwarded to other modules in rendering pipeline to more accurately render the two dimensional image, such as, for example, representing polarized light in the two dimensional image.Type: GrantFiled: February 7, 2008Date of Patent: April 29, 2014Assignee: The University of Utah Research FoundationInventors: Peter Schuyler Shirley, Solomon Boulos, Jared Moroni Johnson, Austin Huff Robison
-
Publication number: 20130339936Abstract: Program code in a dynamic language is executed through a dynamic execution module that includes an execution context and an execution codebase. The instructions of the program code are translated into machine code that is stored in the execution codebase, and the execution context tracks the runtime state and persistent state of the program through executions and across executions. Using the execution codebase and the execution context the dynamic execution module minimizes duplicative machine code generation, while preserving the dynamic aspects of the program.Type: ApplicationFiled: June 18, 2012Publication date: December 19, 2013Applicant: TALARIA TECHNOLOGIES, INC.Inventors: Solomon Boulos, Jeremy Sugerman
-
Patent number: 8259105Abstract: Ray tracing a three-dimensional scene made up of geometric primitives that are spatially partitioned into a hierarchical data structure. One example embodiment is a method for ray tracing a three-dimensional scene made up of geometric primitives that are spatially partitioned into a hierarchical data structure. In this example embodiment, the hierarchical data structure includes at least a parent node and a corresponding plurality of child nodes. The method includes a first act of determining that a first active ray in the packet hits the parent node and a second act of descending to each of the plurality of child nodes.Type: GrantFiled: July 16, 2007Date of Patent: September 4, 2012Assignee: The University of Utah Research FoundationInventors: Ingo Wald, Solomon Boulos, Peter Shirley
-
Publication number: 20110043516Abstract: The present invention extends to methods, systems, and computer program products for representing polarized light in computer models. A rendering pipeline receives three dimensional modeling data (e.g., geometric primitives) for rendering a two dimensional image are received. The modeling data includes data representing a light source The light energy from the simulated transmission of particles at each pixel of the two dimensional image is calculated for any particles transmitted in an adjoint direction from a specified view point back to the light source. The light energies from each pixel are summed to calculate the total light energy present at the specified view point. The total light energy can be forwarded to other modules in rendering pipeline to more accurately render the two dimensional image, such as, for example, representing polarized light in the two dimensional image.Type: ApplicationFiled: February 7, 2008Publication date: February 24, 2011Inventors: Peter Schuyler Shirley, Solomon Boulos, Jared Moroni Johnson, Austin Huff Robison
-
Publication number: 20100060634Abstract: Ray tracing a three-dimensional scene made up of geometric primitives that are spatially partitioned into a hierarchical data structure. One example embodiment is a method for ray tracing a three-dimensional scene made up of geometric primitives that are spatially partitioned into a hierarchical data structure. In this example embodiment, the hierarchical data structure includes at least a parent node and a corresponding plurality of child nodes. The method includes a first act of determining that a first active ray in the packet hits the parent node and a second act of descending to each of the plurality of child nodes.Type: ApplicationFiled: July 16, 2007Publication date: March 11, 2010Inventors: Ingo Wald, Solomon Boulos, Peter Shirley