1. 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
  2. 03 Mar, 2009 1 commit
  3. 19 Feb, 2009 1 commit
    • sgjesse@chromium.org's avatar
      Add host callback for debug break. · 44b83d3e
      sgjesse@chromium.org authored
      Add the ability to have the host embedding V8 receive a callback in the V8 thread while V8 is processing a debug callback. When V8 is processing a debug callback the thread where V8 is executing is sitting in a tight loop processing debug commands until the continue command has been executed. In some embedding situations it is beneficial to be able to call back into the embedding host from the thread where V8 is sitting. The might have functions which needs to be called to complement the JavaScript debugging.
      
      Using the uint16_t array to pass a void* is a temporary hack.
      Review URL: http://codereview.chromium.org/20491
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1318 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      44b83d3e
  4. 12 Feb, 2009 1 commit
  5. 11 Feb, 2009 1 commit
  6. 05 Feb, 2009 1 commit
  7. 03 Feb, 2009 1 commit
  8. 29 Jan, 2009 1 commit
  9. 23 Jan, 2009 1 commit
  10. 08 Jan, 2009 1 commit
  11. 11 Dec, 2008 1 commit
    • deanm@chromium.org's avatar
      Improve mark-compact object grouping interface. · 6297a191
      deanm@chromium.org authored
      The main goal was to improve O(n^2) behavior when there are many object groups.  The old API required the grouping to be done on the v8 side, along with a linear search.  The new interface requires the caller to do the grouping, passing V8 entire groups at a time.  This removes the group id concept on the v8 side.
      
        - Changed AddObjectToGroup to AddObjectGroup.
        - Removed the group id concept from the V8 side.
        - Remove a static constructor while I'm here, lazily initialize
          the object groups list.
        - Cleaned up return by non-const references to return pointers.
      
      Review URL: http://codereview.chromium.org/13341
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@965 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      6297a191
  12. 01 Dec, 2008 1 commit
  13. 27 Nov, 2008 1 commit
  14. 17 Nov, 2008 1 commit
  15. 12 Nov, 2008 1 commit
  16. 07 Nov, 2008 1 commit
  17. 30 Oct, 2008 1 commit
  18. 23 Oct, 2008 2 commits
  19. 22 Oct, 2008 1 commit
  20. 21 Oct, 2008 1 commit
    • feng@chromium.org's avatar
      Split window support from V8. · 42ef2c3d
      feng@chromium.org authored
      Here is a description of the background and design of split window in Chrome and V8:
      https://docs.google.com/a/google.com/Doc?id=chhjkpg_47fwddxbfr
      
      This change list splits the window object into two parts: 1) an inner window object used as the global object of contexts; 2) an outer window object exposed to JavaScript and accessible by the name 'window'. Firefox did it awhile ago, here are some discussions: https://wiki.mozilla.org/Gecko:SplitWindow. One additional benefit of splitting window in Chrome is that accessing global variables don't need security checks anymore, it can improve applications that use many global variables.
      
      V8 support of split window:
        There are a small number of changes on V8 api to support split window:
      Security context is removed from V8, so does related API functions;
      A global object can be detached from its context and reused by a new context;
      Access checks on an object template can be turned on/off by default;
      An object can turn on its access checks later;
      
        V8 has a new object type, ApiGlobalObject, which is the outer window object type. The existing JSGlobalObject becomes the inner window object type. Security checks are moved from JSGlobalObject to ApiGlobalObject. ApiGlobalObject is the one exposed to JavaScript, it is accessible through Context::Global(). ApiGlobalObject's prototype is set to JSGlobalObject so that property lookups are forwarded to JSGlobalObject. ApiGlobalObject forwards all other property access requests to JSGlobalObject, such as SetProperty, DeleteProperty, etc.
      
        Security token is moved to a global context, and ApiGlobalObject has a reference to its global context. JSGlobalObject has a reference to its global context as well. When accessing properties on a global object in JavaScript, the domain security check is performed by comparing the security token of the lexical context (Top::global_context()) to the token of global object's context. The check is only needed when the receiver is a window object, such as 'window.document'. Accessing global variables, such as 'var foo = 3; foo' does not need checks because the receiver is the inner window object.
      
        When an outer window is detached from its global context (when a frame navigates away from a page), it is completely detached from the inner window. A new context is created for the new page, and the outer global object is reused. At this point, the access check on the DOMWindow wrapper of the old context is turned on. The code in old context is still able to access DOMWindow properties, but it has to go through domain security checks.
      
      
      It is debatable on how to implement the outer window object. Currently each property access function has to check if the receiver is ApiGlobalObject type. This approach might be error-prone that one may forget to check the receiver when adding new functions. It is unlikely a performance issue because accessing global variables are more common than 'window.foo' style coding.
      
      I am still working on the ARM port, and I'd like to hear comments and suggestions on the best way to support it in V8.
      
      
      Review URL: http://codereview.chromium.org/7366
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@540 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      42ef2c3d
  21. 09 Oct, 2008 1 commit
  22. 30 Sep, 2008 1 commit
  23. 11 Sep, 2008 1 commit
  24. 10 Sep, 2008 2 commits
  25. 09 Sep, 2008 2 commits
  26. 08 Sep, 2008 3 commits
  27. 05 Sep, 2008 1 commit
  28. 04 Sep, 2008 1 commit
  29. 01 Sep, 2008 5 commits