Scale computing in deterministic cloud environments
US-2024370302-A1 · Nov 7, 2024 · US
US10452363B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10452363-B2 |
| Application number | US-201514807781-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 23, 2015 |
| Priority date | Apr 21, 2010 |
| Publication date | Oct 22, 2019 |
| Grant date | Oct 22, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Techniques and mechanisms for conversion of code of a first type to bytecode. Apex provides various unique characteristics. When converting to bytecode, these characteristics are handled to provide bytecode functionality. Some of the unique characteristics of Apex include Autoboxing, SOQL, Properties, Comparisons, Modifiers, Code coverage mechanisms and Sharing mechanisms.
Opening claim text (preview).
What is claimed is: 1. A method comprising: receiving, with one or more processors, code conforming to a first programming language wherein the code conforming to the first programming language comprises on demand platform code capable of running without client-side servers or software where all values are reference types, the first programming language to be implemented as an abstract syntax tree (AST)-based language supporting an in-line version of a database query language, wherein the code conforming to the first programming language comprises at least a database query; generating code conforming to a second programming language, wherein the code is a compiled AST bytecode of the code conforming to the first programming language, wherein the generating comprises: generating a plurality of constructs for each property; tracking each property with a tuple; generating a closure method with the property; for the database query in the first programming language, wherein the database query includes one or more expressions, performing the steps of: unboxing the expression; evaluating the one or more expressions to generate a results; and storing results of the evolution in one or more temporary variables; rewriting the form of the database query to refer to the one or more temporary variables; and compiling the rewritten database query; emitting the rewritten database query as a method invocation with a stringized form of the query; storing a rewritten database query in a distributed caching system; and executing the rewritten database query within an execution environment to provide functionality corresponding to the code conforming to the first programming language. 2. The method of claim 1 further comprising: identifying intermediate values; and eliminating boxing and unboxing for the intermediate values. 3. A method comprising: receiving, with one or more processors, code conforming to a first programming language wherein the code conforming to the first programming language comprises on demand platform code capable of running without client-side servers or software where all values are reference types, the first programming language to be implemented as an abstract syntax tree (AST)-based language supporting an in-line version of a database query language, wherein the code conforming to the first programming language comprises at least a database query; generating code conforming to a second programming language, wherein the code is a compiled AST bytecode of the code conforming to the first programming language, wherein the generating comprises: generating a plurality of constructs for each property; tracking each property with a tuple; generating a closure method with the property; invoking the closure method; revoking the closure method; for the database query in the first programming language, wherein the database query includes one or more expressions, performing the steps of: unboxing the expression; evaluating the one or more expressions to generate a results; and storing results of the evolution in one or more temporary variables; rewriting the form of the database query to refer to the one or more temporary variables; and compiling the rewritten database query; emitting the rewritten database query as a method invocation with a stringized form of the query; storing a rewritten database query in a distributed caching system; and executing the rewritten database query within an execution environment to provide functionality corresponding to the code conforming to the first programming language. 4. The method of claim 3 wherein the plurality of constructs comprise: a field of a same type as the property on a type that defines the property; a setter method that includes code to set the field; and a getter method to get the field. 5. An article comprising a non-transitory computer-readable medium having stored thereon instructions that, when executed, cause one or more processors in a multitenant environment to: receiving, with one or more processors, code conforming to a first programming language wherein the code conforming to the first programming language comprises on demand platform code capable of running without client-side servers or software where all values are reference types, the first programming language to be implemented as an abstract syntax tree (AST)-based language supporting an in-line version of a database query language, wherein the code conforming to the first programming language comprises at least a database query; generating code conforming to a second programming language, wherein the code is a compiled AST bytecode of the code conforming to the first programming language, wherein the generating comprises: generating a plurality of constructs for each property; tracking each property with a tuple; generating a closure method with the property; for the database query in the first programming language, wherein the database query includes one or more expressions, performing the steps of: unboxing the expression; evaluating the one or more expressions to generate a results; and storing results of the evolution in one or more temporary variables; rewriting the form of the database query to refer to the one or more temporary variables; and compiling the rewritten database query; emitting the rewritten database query as a method invocation with a stringized form of the query; storing a rewritten database query in a distributed caching system; and executing the rewritten database query within an execution environment to provide functionality corresponding to the code conforming to the first programming language. 6. The article of claim 5 further comprising instructions that, when executed, cause the one or more processors to: identify intermediate values; and eliminate boxing and unboxing for the intermediate values. 7. An article comprising a non-transitory computer-readable medium having stored thereon instructions that, when executed, cause one or more processors in a multitenant environment to: receiving code conforming to a first programming language wherein the code conforming to the first programming language comprises on demand platform code capable of running without client-side servers or software where all values are reference types, the first programming language to be implemented as an abstract syntax tree (AST)-based language supporting an in-line version of a database query language, wherein the code conforming to the first programming language comprises at least a database query; generating code conforming to a second programming language, wherein the code is a compiled AST bytecode of the code conforming to the first programming language, wherein the generating comprises: generating a plurality of constructs for each property; tracking each property with a tuple; generating a closure method with the property; invoking the closure method; revoking the closure method; for the database query in the first programming language, wherein the database query includes one or more expressions, performing the steps of: unboxing the expression; evaluating the one or more expressions to generate a results; and storing results of the evolution in one or more temporary variables; rewriting the form of the database query to refer to the one or more temporary variables; and compiling the rewritten database query; emitting the rewritten database query as a method invocation with a stringized form of the query; storing a rewritten database query in a distributed caching system; and executing the rewritten database query within an execution environment to provide functionality corresponding to the code conforming to the first programming language.
Query processing · CPC title
Compilation · CPC title
with dedicated cache, e.g. instruction or stack · CPC title
Remote execution · CPC title
the resource being a machine, e.g. CPUs, Servers, Terminals · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.