Methods and systems for application rendering
US-2018196644-A1 · Jul 12, 2018 · US
US11288048B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11288048-B2 |
| Application number | US-201715799966-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 31, 2017 |
| Priority date | Sep 2, 2011 |
| Publication date | Mar 29, 2022 |
| Grant date | Mar 29, 2022 |
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.
Dynamic code generation and coordination techniques are provided for display of dynamic markup documents including script code. A code generation process is not only guided by deferral of code preparation stages and sub-stages, but also informed by various information levels possessed concerning the code itself, either through interpretation or observation of execution, to not only generate modified code, but also to generate alternative code for alternative situations (e.g., generating different loop bodies that can thereafter be readily swapped in or out depending on a given function call by the browser application). A multi-core architecture further improves user experience by asymmetrically ensuring web site presentation and functionality is prioritized for the user experience.
Opening claim text (preview).
What is claimed is: 1. A method, comprising: receiving script code by a script engine of a computing device, the script code being included or referenced in a markup document received by a browser of the computing device; and during execution of the markup document, determining to reduce or defer at least one phase of a multi-phase code preparation process applied to the script code, the multi-phase code preparation process utilizing one or more phases to create executable code, the one or more phases including parsing the script code and optimizing the script code, wherein the determination to reduce or defer parsing the script code is based on a prediction of calling a portion of the script code, wherein the determination to reduce or defer optimizing the script code is based on a pattern observed in historical usage of the portion of the script code by the browser, or frequency of the portion of the script code called by the browser. 2. The method of claim 1 , wherein the determining step further comprises: deferring or reducing usage of a just-in-time compiler to optimize the script code. 3. The method of claim 1 , wherein the determining step further comprises: deferring or reducing optimization of a loop body of the script code. 4. The method of claim 1 , wherein the determining step further comprises: deferring or reducing interpreting the script code. 5. The method of claim 1 , wherein the determining step further comprises: deferring or reducing generation of bytecodes based on the script code. 6. The method of claim 1 , wherein the one or more phases includes loading the script code and interpreting the script code. 7. A system, comprising: one or more processors and a memory; the one or more processors configured to: receive script code by a script engine of a computing device, the script code being included or referenced in a markup document; determine during execution of the markup document to defer, parsing of the script code; determine boundaries of one or more functions in the script code; upon activation of one of the one or more functions in the script code, generate, by the script engine, executable code for the activated function; and execute the activated function. 8. The system of claim 7 , wherein activation of the one of the one or more functions is initiated by a browser application that calls the one of the one or more functions. 9. The system of claim 7 , the one or more processors are further configured to: insert a stub in the script code to indicate the deferred parsing. 10. The system of claim 7 , the one or more processors are further configured to: during execution of the activated function, analyze the activated function to predict characteristics of the activated function that are used to generate specialized executable code for the activated function. 11. The system of claim 7 , further comprising: during generation of executable code for the activated function, analyze the activated function to determine characteristics of the activated function that are used to generate specialized executable code for the activated function. 12. A computing device, comprising: at least one processor and a memory; the at least one processor configured to: render a markup document, in response to a user request, concurrently while generating executable code for a script code embedded or referenced in the markup document; based on a characteristic of the script code, selectively generate, concurrently with rendering the markup document, alternative executable code for the script code, the alternative executable code different from the executable code; and substitute the executable code with the alternative executable code. 13. The computing device of claim 12 , wherein the at least one processor is further configured to: execute a garbage collection process for objects no longer used or referenced by the markup document. 14. The computing device of claim 12 , wherein the at least one processor is further configured to observe the characteristics of the script code during interpretation of the script code. 15. The computing device of claim 12 , wherein the at least one processor is further configured to determine the characteristics of the script code as a result of observing the script code during execution of the script code. 16. The computing device of claim 12 , wherein the characteristics of the script code is based on one or more common code paths, usage of executed code or a prediction of code usage. 17. The computing device of claim 12 , wherein the characteristics of the script code is based on a function of a ratio of a size of one or more loops in the script code to an overall size of the script code, a measurement of a computational intensity of the script code or an analysis of a call tree associated with the script code. 18. The computing device of claim 12 , wherein substitute the executable code with the alternative executable code is performed without interfering with a current execution of the markup document. 19. The computing device of claim 12 , wherein substitute the executable code with the alternative executable code is performed by swapping in an address of the alternative executable code. 20. The computing device of claim 12 , wherein the alternative executable code is generated based on a priority assigned to the script code.
Incremental compilation (software reuse G06F8/36) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.