1. 22 Mar, 2013 1 commit
    • adamk@chromium.org's avatar
      Fix %GetArrayKeys to not skip non-enumerable indices · 9bebd23d
      adamk@chromium.org authored
      This is one step in the direction of fixing a range of small bugs in the array methods when dealing with non-standard element attributes.
      
      Added tests exercising this behavior for shift and unshift.
      
      For Proxies and Interceptors, the behavior of %GetArrayKeys is now to just return an interval, rather than trying to list all their indexed properties. In the Proxy case, this seems like the only way to avoid an observable difference between smart and non-smart array methods. For Interceptors, the usual case (in WebKit, anyway) is for them to have all indices in [0, length), so enumerating them won't be any better than simply iterating over that range.
      
      Review URL: https://codereview.chromium.org/12653010
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14057 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      9bebd23d
  2. 12 May, 2010 1 commit
  3. 15 Feb, 2010 2 commits
  4. 04 Feb, 2010 1 commit
  5. 21 Dec, 2009 1 commit
  6. 27 Aug, 2009 2 commits
  7. 15 Jun, 2009 1 commit
  8. 05 Jun, 2009 1 commit
    • kmillikin@chromium.org's avatar
      Simplify the processing of deferred code in the code generator. Our · bd82b972
      kmillikin@chromium.org authored
      deferred code snippets are highly stylized.  They always make a call
      to a stub or the runtime and then return.  This change takes advantage
      of that.
      
      Creating a deferred code object now captures a snapshot of the
      registers in the virtual frame.  The registers are automatically saved
      on entry to the deferred code and restored on exit.
      
      The clients of deferred code must ensure that there is no change to
      the registers in the virtual frame (eg, by allocating which can cause
      spilling) or to the stack pointer.  That is currently the case.
      
      As a separate change, I will add either code to verify this constraint
      or else code to forbid any frame effect.
      
      The deferred code itself does not use the virtual frame or register
      allocator (or even the code generator).  It is raw macro assembler
      code.
      Review URL: http://codereview.chromium.org/118226
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2112 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      bd82b972
  9. 27 May, 2009 1 commit
  10. 31 Mar, 2009 3 commits
  11. 27 Mar, 2009 1 commit
  12. 16 Jan, 2009 1 commit
  13. 14 Jan, 2009 1 commit
  14. 26 Sep, 2008 1 commit
  15. 09 Sep, 2008 1 commit
  16. 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
  17. 03 Jul, 2008 1 commit