On Sat, Aug 30, 2014 at 1:51 PM, Andreas Madsen <[email protected]> wrote:
> I'm trying to suggest a change for v8 there will extend the frame objects
> there can be obtained using Error.prepareStackTrace, so they also have
> a getFunctionArguments and a getFunctionVariabels method. As this is
> quite useful for understanding the cause of runtime errors.
>
> See attachment for .patch file.
>
> However there is an issue in the added test. The error is caused by the
> optimization of the test function. I have tried to solve it using the
> FrameInspector but without luck. I hope someone kind can help me solve
> the issue.
> The error output can be seen below.
>
> ========================================================
> ./d8 --allow-natives-syntax test/mjsunit/mjsunit.js
> test/mjsunit/local-variabels.js
>
> ["param_def","param_undef","inner","locals"]
> ["outer","deep"]
> ["param_def","param_undef","inner","locals"]
> ["outer","deep"]
> ["param_def","param_undef","inner","locals"]
> ["outer","deep"]
> test/mjsunit/mjsunit.js:178: Failure: expected <"outer-scope"> found
> <undefined>
>     throw new MjsUnitAssertionError(message);
>           ^
> Error
>     at new MjsUnitAssertionError (test/mjsunit/mjsunit.js:31:16)
>     at fail (test/mjsunit/mjsunit.js:178:11)
>     at assertEquals (test/mjsunit/mjsunit.js:259:7)
>     at deep (test/mjsunit/local-variabels.js:51:39)
>     at test (test/mjsunit/local-variabels.js:54:3)
>     at test/mjsunit/local-variabels.js:60:1
> ========================================================
>
> ========================================================
> ./d8 --turbo-filter="*" --allow-natives-syntax test/mjsunit/mjsunit.js
> test/mjsunit/local-variabels.js
> ["param_def","param_undef","inner","locals"]
> ["outer","deep"]
> ["param_def","param_undef","inner","locals"]
> ["outer","deep"]
> ["param_def","param_undef","inner","locals"]
>
> \#
> \# Fatal error in ../src/deoptimizer.cc, line 151
> \# CHECK_NE(deoptimization_index, Safepoint::kNoDeoptimizationIndex) failed
> \#   Value: 268435455
> \#
>
> ==== C stack trace ===============================
>
>  1: ??
>  2: ??
>  3: ??
>  4: ??
> ========================================================

Hi Andreas, I didn't test it but, looking at the patch, I think
ScopeInfo::CopyContextLocalsToScopeObject() with |locals| as the
target should get you access to |outer|.

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