There is no "auto-reuse", but you can cache compiled code. On Saturday, January 31, 2015 at 5:37:21 PM UTC+1, Jerry Wang wrote: > > 6 years passed, does today's V8 support auto-reuse-precompilation-result > cross multiple isolates? > > On Thursday, September 11, 2008 at 3:48:01 AM UTC+8, Christian Plesner > Hansen wrote: >> >> Scripts are tied to the context in which they were compiled so you >> have to recompile the source code for each new context. Our >> documentation doesn't say that clearly; it should. >> >> If you know you're going to compile the same script many times you can >> precompile it using ScriptData::PreCompile and pass in the result >> along with the source code when you call Script::Compile; this speeds >> up compilation. Also, we're adding internal compilation caching that >> is likely to automatically give more or less the same effect as manual >> caching when compiling the same scripts repeatedly. >> >> >> -- Christian >> >> On Wed, Sep 10, 2008 at 9:20 PM, Bryan White <[email protected]> wrote: >> > >> > I am having a weird problem that makes me suspect I do not understand >> > something about Script objects and/or global script variables. >> > >> > My program runs as a persistent web service. For each page request, >> > it determines which JavaScript source file to use to handle the >> > request. It keeps a cache of the pre-compiled script objects and >> > recompiles them when needed if the timestamp of the source file >> > changes. >> > >> > Here is a summary of the steps to handle each request: >> > >> > 1) On the first request only it creates a persistent ObjectTemplate to >> > use as the global template for all contexts. This global template is >> > pre-populated with a bunch of functions implemented in C++. >> > 2) Create a context. >> > 3) Assign a security token to the context. All contexts will be >> > created with the same security token. This is to allow cached scripts >> > to be used in subsequent contexts. >> > 4) Set some request specific variables in the Context.Global() object >> > 5) Compile and run the requested script (re-using pre-compiled scripts >> > when available). >> > >> > The problem I am seeing is with the global variables set in 4. Inside >> > the script run in step 5, the values of these variables seem to always >> > be the values encountered on the first request. >> > >> > If I change step 5 to always compile a new Script object then it works >> > as expected. >> > >> > It seems like the Script object is somehow storing its own copies of >> > the global variables. >> > >> > -- >> > Bryan White >> > >> > > >> > >> >>
-- -- v8-users mailing list [email protected] http://groups.google.com/group/v8-users --- You received this message because you are subscribed to the Google Groups "v8-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
