What you describe sounds similar to what the built-in debugger does. Check
out test/mjsunit/debug-evaluate-locals.js
Yang
On Monday, October 22, 2012 9:09:31 PM UTC+2, Jonas wrote:
>
> Hello,
>
> I'm modifying V8 for my master thesis and for this need to access
> variables from the frame/context/closure(?) from which a function is called.
> In my scenario I have calls to a C++ method from JS like this:
>
> // a global variable
> var global = "global_value";
>
> function foo(){
> var global = "local_value";
> myCppFunction("global", global);
> }
>
> foo();
>
>
> Now I would like to know how in the implementation of myCppFunction I
> could access the function local variable "global" (NOT value, this would be
> given by the 2nd parameter) from 'foo'?
>
> Handle<Value> MyCppFunction(const Arguments& args){
> Local<String> varName = args[0]->ToString();
> Local<String> varValue = args[1]->ToString(); // this holds "local_value"
> // how to access the variable "global" in the scope of 'foo' using
> varName?
> }
>
> I tried to play around with StackFrameLocator as I thought the Frame for
> the function from which my C++ function is called would have to be the
> previous on the stack. But I didn't manage to find the variable.
> Can someone give me a hint how I could access the desired variable? Is
> there a way via internal::Isolate::Current()?
>
> Best regards
> Jonas
--
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users