1. 11 Aug, 2011 1 commit
  2. 19 Jul, 2011 1 commit
  3. 01 Jul, 2011 1 commit
  4. 28 Jun, 2011 1 commit
  5. 16 Jun, 2011 2 commits
  6. 15 Jun, 2011 1 commit
  7. 14 Jun, 2011 2 commits
  8. 09 Jun, 2011 2 commits
  9. 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
  10. 18 May, 2011 1 commit
  11. 11 May, 2011 1 commit
  12. 03 May, 2011 1 commit
  13. 18 Mar, 2011 3 commits
  14. 17 Mar, 2011 2 commits
  15. 15 Mar, 2011 1 commit
  16. 14 Mar, 2011 1 commit
  17. 07 Dec, 2010 3 commits
  18. 18 Oct, 2010 1 commit
  19. 30 Aug, 2010 1 commit
  20. 25 Aug, 2010 1 commit
  21. 17 Aug, 2010 1 commit
  22. 12 Aug, 2010 1 commit
    • sgjesse@chromium.org's avatar
      Handle overwriting valueOf on String objects correctly when adding · 8e0cd6db
      sgjesse@chromium.org authored
      This adds a check to the fast case string add to ensure that the String object still have the default valueOf function. The default valueOf is sitting on a hidden prototype of String.prototype.
      
      Before using the fast case valueOf the object is checked for a local valueOf property. For slow case objects this check always reports true (the dictionary is not probed, so valueOf might be there) and for fast case objects the descriptor array is checked for the valueOf symbol (just liniar scan). After that the prototype is checked for beeing the initial value of String.prototype. If this all pass (that is the default valueOf is still in place) this result is cached on the map making the check fast the next time.
      
      This is only implemented in the optimizing compiler, as the two usages of %_IsStringWrapperSafeForDefaultValueOf is never hit by the full compiler.
      
      I will port to x64 and ARM when this has been reviewed for ia32.
      
      I will remove the performance counters prior to final commit.
      
      BUG=http://code.google.com/p/v8/issues/detail?id=760
      TEST=test/mjsunit/regress/regress-760-1.js
      TEST=test/mjsunit/regress/regress-760-2.js
      
      Review URL: http://codereview.chromium.org/3117006
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      8e0cd6db
  23. 02 Aug, 2010 1 commit
  24. 28 Jul, 2010 1 commit
  25. 28 Apr, 2010 1 commit
  26. 14 Apr, 2010 1 commit
  27. 13 Apr, 2010 1 commit
  28. 23 Mar, 2010 1 commit
  29. 11 Mar, 2010 1 commit
  30. 10 Mar, 2010 1 commit
  31. 09 Mar, 2010 1 commit
  32. 24 Feb, 2010 1 commit