1. 10 May, 2013 2 commits
  2. 18 Apr, 2013 1 commit
  3. 26 Feb, 2013 1 commit
    • mstarzinger@chromium.org's avatar
      Make __proto__ a foreign callback on Object.prototype. · ce1e10f5
      mstarzinger@chromium.org authored
      This moves the __proto__ property to Object.prototype and turns it into
      a callback property actually present in the descriptor array as opposed
      to a hack in the properties lookup. For now it still is a "magic" data
      property using foreign callbacks and not an accessor property visible to
      JavaScript.
      
      The second effect of this change is that JSON.parse() no longer treats
      the __proto__ property specially, it will be defined as any other data
      property. Note that object literals still have their special handling.
      
      R=rossberg@chromium.org
      BUG=v8:621,v8:1949,v8:2441
      TEST=mjsunit,cctest,test262
      
      Review URL: https://codereview.chromium.org/12212011
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13728 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      ce1e10f5
  4. 26 Nov, 2012 1 commit
  5. 15 Nov, 2012 2 commits
  6. 24 Sep, 2012 1 commit
  7. 08 Aug, 2012 2 commits
  8. 11 Jul, 2012 1 commit
  9. 05 Jul, 2012 1 commit
  10. 05 Jun, 2012 1 commit
  11. 01 Jun, 2012 1 commit
    • rossberg@chromium.org's avatar
      Implement correct checking for inherited readonliness on assignment. · e4c472a7
      rossberg@chromium.org authored
      Removes 6 out of 8 of our remaining unintentional failures on test262.
      
      Also fixes treatment of inherited setters added after the fact.
      
      Specifically:
      
      - In the runtime, when looking for setter callbacks in the prototype chain,
        also look for read-only properties. If one is found, reject (exception in
        strict mode). If a proxy is found, invoke proper trap.
        Note: this folds in the CanPut function from the spec and avoids an extra
        lookup over the prototype chain.
      
      - In generated code for stores, insert a test for the maps from the prototype
        chain, but only up to the object where the property already exists (which
        may be the object itself).
        In Hydrogen, if the found property is read-only or not cacheable (e.g. a
        proxy), bail out; in a stub, generate an unconditional miss (to get an
        exception in strict mode).
      
      - Add test cases and adapt existing test expectations.
      
      R=mstarzinger@chromium.org
      BUG=
      TEST=
      
      Review URL: https://chromiumcodereview.appspot.com/10388047
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11694 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      e4c472a7
  12. 11 May, 2012 1 commit
  13. 23 Apr, 2012 1 commit
  14. 16 Apr, 2012 5 commits
  15. 13 Apr, 2012 1 commit
  16. 05 Apr, 2012 1 commit
  17. 28 Mar, 2012 1 commit
  18. 19 Mar, 2012 2 commits
  19. 15 Mar, 2012 1 commit
  20. 07 Mar, 2012 1 commit
  21. 01 Mar, 2012 1 commit
  22. 29 Feb, 2012 1 commit
  23. 24 Feb, 2012 2 commits
  24. 23 Feb, 2012 1 commit
    • mstarzinger@chromium.org's avatar
      Fix redefinition of aliased elements in arguments. · 1a356cff
      mstarzinger@chromium.org authored
      This refactors the way we (re)define elements to perform normalization
      and attribute updating at a much deeper level, thereby removing some
      bogus special cases in upper runtime layers.
      
      Most element setters take an indicator flag that distinguishes between
      setting and defining. Setting of an element causes attributes to remain
      unchanged, writability to be checked and callbacks to be called.
      Defining of an element causes attributes to be updated and callbacks to
      be overridden. The same approach could be taken for properties.
      
      R=svenpanne@chromium.org
      BUG=v8:1772
      TEST=test262,test262/15.2.3.6-4-333-11
      
      Review URL: https://chromiumcodereview.appspot.com/9443014
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10808 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      1a356cff
  25. 20 Feb, 2012 2 commits
  26. 17 Feb, 2012 2 commits
  27. 20 Dec, 2011 1 commit
  28. 16 Dec, 2011 2 commits