Reviewers: Mads Ager,

Description:
Remove the last context dependent reference from the Script object

For scripts originating from a call to eval the Script object used to hold a
reference to the function from where the eval was called together with the  
code
offset within that function of the eval call. This is used by the stack  
trace
and is part of the debugger protocol. In order to avoid storing the  
function the
script, the position within the script and the name of the function calling  
eval
is stored instead. This avoids holding context dependent objects in the  
script
object.

The calculation of the position of the eval in the script holding the eval  
is
now done when the eval script is compiled as it is not possible to postpone  
this
unless a reference is kept to the generated code for the function calling  
eval.

BUG=http://code.google.com/p/v8/issues/detail?id=528
TEST=cctest/test-api/Regress528

Please review this at http://codereview.chromium.org/450034

SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/

Affected files:
   M     src/accessors.h
   M     src/accessors.cc
   M     src/bootstrapper.cc
   M     src/compiler.cc
   M     src/factory.cc
   M     src/messages.js
   M     src/mirror-delay.js
   M     src/objects-debug.cc
   M     src/objects-inl.h
   M     src/objects.h
   M     test/cctest/test-api.cc


-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to