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.
