If you are only interested in sharing code between contexts, but not actual 
objects, you don't have to set security tokens. You can 
use ScriptCompiler::CompileUnboundScript to compile a script. The compile 
result can be then bound to a context via 
UnboundScript::BindToCurrentContext and run.

Cheers,

Yang

On Monday, November 14, 2016 at 12:48:38 AM UTC+1, George Marques wrote:
>
> For starters, I want two things:
>
>    1. Have a JS file with global functions to use in my application. I 
>    already the global object set with the C++ functions, but also need to mix 
>    the JS ones since it's a lot faster sometimes.
>    2. Have a module system akin to Node.js/CommonJS and load JS files 
>    from the file system.
>
> Also, I want both of those things to work across multiple contexts, since 
> each script in my application runs in a different context and I have a 
> bunch of scripts.
>
> So, I expected that it would be possible to pre-compile a script in one 
> temporary context then run it in each of the other contexts to add the 
> global functions. It turned out that none of my tests to do so worked (and 
> I really don't understand the cryptic error messages I get, something like 
> that 
> == 0 || (*reinterpret_cast<v8::internal::Object* 
> const*>(that))->IsJSFunction() and similar stuff). Tried to use the same 
> security token in both contexts, use ScriptCompiler::CompileUnbound() and 
> Script::GetUnboundScript() (those failed when using BindToCurrentContext() 
> later).
>
> Maybe there's a better way to do this, but I am completely thrown off by 
> the absence of documentation and reference material (or my inability to 
> find them, though I accomplished quite a lot until now without needing to 
> ask). Anyway, if there's some easy and fast way to do both of my points 
> above without context-switching then please point me the way.
>
> My main question that (I think) will solve my problem: How to share a 
> compiled script between different contexts?
>
> Thanks in advance.
>

-- 
-- 
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.

Reply via email to