1. 14 Dec, 2010 1 commit
  2. 15 Oct, 2010 1 commit
  3. 10 Jun, 2010 1 commit
  4. 01 Apr, 2010 1 commit
  5. 30 Mar, 2010 1 commit
  6. 23 Mar, 2010 1 commit
  7. 19 Feb, 2010 1 commit
  8. 12 Feb, 2010 1 commit
  9. 01 Feb, 2010 1 commit
  10. 15 Jan, 2010 1 commit
  11. 01 Dec, 2009 1 commit
  12. 30 Oct, 2009 1 commit
  13. 13 Oct, 2009 1 commit
  14. 23 Sep, 2009 1 commit
  15. 08 Sep, 2009 1 commit
  16. 29 Jun, 2009 1 commit
  17. 23 Jun, 2009 1 commit
  18. 22 Jun, 2009 1 commit
  19. 18 Jun, 2009 1 commit
  20. 12 Jun, 2009 1 commit
    • sgjesse@chromium.org's avatar
      Add scope chain information to the debugger. · 88261439
      sgjesse@chromium.org authored
      For each frame it is now possible to request information on the scope chain. Each scope in the chain can have one of the types local, global, with and closure. For scopes of type global and with the mirror for the actual global or with object is available. For scopes of type local and closure a plain JavaScript object with the materialized content of the scope is created and its mirror is returned. Depending on the level of possible optimization the content of the materialized local and closure scopes might only contain the names which are actually used.
      
      To iterate the scope chain an iterator ScopeIterator have been added which can provide the type of each scope for each part of the chain. This iterator creates an artificial local scope whenever that is present as the context chain does not include the local scope.
      
      To avoid caching the mirror objects for the materialized the local and closure scopes transient mirrors have been added. They have negative handles and cannot be retrieved by subsequent lookup calls. Their content is part of a single response.
      
      For debugging purposes an additional runtime function DebugPrintScopes is been added.
      
      Added commands 'scopes' and 'scope' to the developer shell and fixed the dir command.
      
      BUG=none
      TEST=test/mjsunit/debug-scopes.js
      Review URL: http://codereview.chromium.org/123021
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2149 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      88261439
  21. 08 Jun, 2009 1 commit
    • sgjesse@chromium.org's avatar
      Add more debugging information to scripts compiled through eval. · d498361c
      sgjesse@chromium.org authored
      Scripts now have a compilation type which can be host, eval or JSON. Host scripts are compiled through the API, eval scripts are compiled through call to evan and JSON scripts are compiled as a result of calling JSON.parse.
      
      For scripts scripts compiled through eval the JavaScript function in top of the stack and the pc offset into the code is stored in the script object. This makes it possible to calculate the source position of the eval call later when requested. This information can be obtained through the script mirror object and is part of the script mirror JSON serialization for the debugger protocol.
      
      Moved the enumeration ScripType into class Script and remamed to Type. The new compilation type enumeration is also inside the class Script.
      
      This information is now shown when using the scripts command in he developer shell debugger.
      Review URL: http://codereview.chromium.org/119108
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2119 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      d498361c
  22. 15 May, 2009 2 commits
  23. 06 May, 2009 1 commit
    • sgjesse@chromium.org's avatar
      Added context information to scripts. · b32d7d2e
      sgjesse@chromium.org authored
      Added a simple initial version of a context mirror object which just holds the user data from the context, and does not preserve handle identity.
      
      A script object now holds a reference to the custom data from the context it was compiled in. This data is included in the debugger protocol for scripts.
      
      Changed the serialization for the scripts command to use the mirror objects instaed of custom serialization. This included passing options from the debugger request to the serializer for including the full source of scripts in the response.
      Review URL: http://codereview.chromium.org/111001
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      b32d7d2e
  24. 05 May, 2009 1 commit
  25. 21 Apr, 2009 1 commit
  26. 15 Apr, 2009 1 commit
  27. 12 Mar, 2009 1 commit
  28. 10 Mar, 2009 1 commit
    • sgjesse@chromium.org's avatar
      Whenever a script object is created it is assigned a unique id. Currently this... · 9d17b0d4
      sgjesse@chromium.org authored
      Whenever a script object is created it is assigned a unique id. Currently this id is assigned from an 32 bit integer counter.
      
      Changed the script break points to be able to handle both break points based on script names and script ids. When break points are set through a script id the position is relative to the script itself. This is different from the script break points set through script names where the line/coulmn offset is taken into account.
      
      This has the side effect that function break points are not converted into script break points for named scripts.
      
      Show the script id in the D8 shell debugger when listing all scripts using the 'scripts' command.
      Review URL: http://codereview.chromium.org/40317
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1468 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      9d17b0d4
  29. 05 Feb, 2009 2 commits
  30. 28 Jan, 2009 1 commit
  31. 26 Jan, 2009 1 commit
  32. 22 Jan, 2009 1 commit
  33. 21 Jan, 2009 1 commit
  34. 19 Jan, 2009 1 commit
  35. 16 Jan, 2009 1 commit
    • sgjesse@chromium.org's avatar
      Added handles to the mirror objects. When a mirror for an object is created · c2c780bf
      sgjesse@chromium.org authored
      it is assigned a numeric handle. Handles are used to make a 1:1
      correspondence between objects and mirrors. Currently the mirrors are
      cached in a JavaScript array and when creating a mirror this cache is
      checked to see if a mirror already exists for the object. This cache is
      cleared when leaving the debugger.
      
      Changed the serialization format to take advantage of these handles. When
      an object is serialized referenced objects are represented just by their
      handle id serialized as '{ref:<handle>}'. During serialization the
      referenced handles are collected and the serializer can provide a
      serialization of all the referenced objects.
      
      Removed the special handling of array properties. Indexed properties and
      the length property are now rendered as named properties in the
      serialization.
      
      Removed the special serialization handling of RegExp properties. The
      properties 'source', 'global', 'ignoreCase' and 'multiline' are serialized
      with the rest of the properties.
      
      Changed a lot of tests to handle the changed format.
      Review URL: http://codereview.chromium.org/18092
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1093 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      c2c780bf
  36. 15 Jan, 2009 2 commits
    • sgjesse@chromium.org's avatar
      dc2a0ec3
    • sgjesse@chromium.org's avatar
      Added handles to the mirror objects. When a mirror for an object is created it... · 6bc1d40a
      sgjesse@chromium.org authored
      Added handles to the mirror objects. When a mirror for an object is created it is assigned a numeric handle. Handles are used to make a 1:1 correspondence between objects and mirrors. Currently the mirrors are cached in a JavaScript array and when creating a mirror this cache is checked to see if a mirror already exists for the object. This cache is cleared when leaving the debugger.
      
      Changed the serialization format to take advantage of these handles. When an object is serialized referenced objects are represented just by their handle id serialized as '{ref:<handle>}'. During serialization the referenced handles are collected and the serializer can provide a serialization of all the referenced objects.
      
      Removed the special handling of array properties. Indexed properties and the length property are now rendered as named properties in the serialization.
      
      Removed the special serialization handling of RegExp properties. The properties 'source', 'global', 'ignoreCase' and 'multiline' are serialized with the rest of the properties.
      
      Changed a lot of tests to handle the changed format.
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      6bc1d40a
  37. 13 Jan, 2009 1 commit
    • sgjesse@chromium.org's avatar
      Refactored the mirror representation of properties. Removed the AssessorMirror... · 25112aba
      sgjesse@chromium.org authored
      Refactored the mirror representation of properties. Removed the AssessorMirror and InterceptorPropertyMirror and moved all reflection for properties to PropertyMirror. From a PropertyMirror it can be checked whether a property has getter/setter defined in JavaScript and information on the getter/setter functions are now available. If calling the getter resulted in an exception this is reflected as well.
      
      Properties from interceptors are also reflected through PropertyMirror as the distinction did not make sense seen from a JavaScript debugging perspective. The isNative function on a PropertyMirror can be used to check whether a property is defined natively by the host (or V8).
      
      Simplified the local property lookup in the debug runtime call to just call GetProperty as the property is known to be a local property.
      Review URL: http://codereview.chromium.org/17377
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1068 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      25112aba