1. 01 Sep, 2011 1 commit
  2. 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
  3. 26 Apr, 2010 3 commits
  4. 09 Mar, 2010 1 commit
  5. 12 Feb, 2010 1 commit
  6. 21 Jan, 2010 1 commit
  7. 23 Oct, 2008 1 commit
  8. 26 Sep, 2008 1 commit
  9. 09 Sep, 2008 1 commit
  10. 22 Aug, 2008 1 commit
    • christian.plesner.hansen's avatar
      Included mjsunit JavaScript test suite and C++ unit tests. · c42f5829
      christian.plesner.hansen authored
      In the shell sample don't print the result of executing a script, only
      evaluating expressions.
      
      Fixed issue when building samples on Windows using a shared V8
      library.  Added visibility option on Linux build which makes the
      generated library 18% smaller.
      
      Changed build system to accept multiple build modes in one build and
      generate seperate objects, libraries and executables for each mode.
      
      Removed deferred negation optimization (a * -b => -(a * b)) since this
      visibly changes operand conversion order.
      
      Improved parsing performance by introducing stack guard in preparsing.
      Without a stack guard preparsing always bails out with stack overflow.
      
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      c42f5829
  11. 03 Jul, 2008 1 commit