1. 26 Oct, 2014 1 commit
  2. 07 Aug, 2014 1 commit
  3. 21 Mar, 2014 1 commit
  4. 12 Feb, 2014 1 commit
  5. 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
  6. 09 Nov, 2012 1 commit
  7. 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
  8. 29 May, 2012 2 commits
  9. 23 Mar, 2012 1 commit
  10. 10 Nov, 2011 1 commit
  11. 26 Oct, 2011 1 commit
  12. 24 Oct, 2011 2 commits
  13. 10 Oct, 2011 2 commits
  14. 06 Oct, 2011 1 commit
  15. 22 Sep, 2011 3 commits
  16. 21 Sep, 2011 1 commit
  17. 16 Sep, 2011 2 commits
  18. 13 Sep, 2011 2 commits
  19. 21 Jul, 2011 1 commit
  20. 19 Jul, 2011 1 commit
  21. 18 Jul, 2011 1 commit
  22. 15 Jul, 2011 1 commit
  23. 13 Jul, 2011 2 commits
  24. 07 Jul, 2011 1 commit
  25. 03 Jun, 2011 1 commit
  26. 02 Jun, 2011 1 commit
  27. 01 Jun, 2011 1 commit
  28. 31 May, 2011 1 commit
    • rossberg@chromium.org's avatar
      Implement set trap for proxies, and revamp class hierarchy in preparation: · 670f947a
      rossberg@chromium.org authored
      - Introduce a class JSReceiver, that is a common superclass of JSObject and
        JSProxy. Use JSReceiver where appropriate (probably lots of places that we
        still have to migrate, but we will find those later with proxy test suite).
      
      - Move appropriate methods to JSReceiver class (SetProperty,
        GetPropertyAttribute, Get/SetPrototype, Lookup, and so on).
      
      - Introduce new JSFunctionProxy subclass of JSProxy. Currently only a stub.
      
      - Overhaul enum InstanceType:
        * Introduce FIRST/LAST_SPEC_OBJECT_TYPE that ranges over all types that
          represent JS objects, and use that consistently to check language types.
        * Rename FIRST/LAST_JS_OBJECT_TYPE and FIRST/LAST_FUNCTION_CLASS_TYPE
          to FIRST/LAST_[NON]CALLABLE_SPEC_OBJECT_TYPE for clarity.
        * Eliminate the overlap over JS_REGEXP_TYPE.
        * Also replace FIRST_JS_OBJECT with FIRST_JS_RECEIVER, but only use it where
          we exclusively talk about the internal representation type.
        * Insert JS_PROXY and JS_FUNCTION_PROXY in the appropriate places.
      
      - Fix all checks concerning classification, especially for functions, to
        use the CALLABLE_SPEC_OBJECT range (that includes funciton proxies).
      
      - Handle proxies in SetProperty (that was the easiest part :) ).
      
      - A few simple test cases.
      
      R=kmillikin@chromium.org
      
      Review URL: http://codereview.chromium.org/6992072
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8126 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      670f947a