1. 16 Nov, 2011 1 commit
    • fschneider@chromium.org's avatar
      Fix lazy deoptimization at HInvokeFunction and enable target-recording call-function stub. · 84805694
      fschneider@chromium.org authored
      Changes the way we do lazy deoptimization:
      
      1. For side-effect instructions, we insert the lazy-deopt call at
      the following LLazyBailout instruction.
      
           CALL
           GAP
           LAZY-BAILOUT ==> lazy-deopt-call
      
      2. For other instructions (StackCheck) we insert it right after the
      instruction since the deopt targets an earlier deoptimization environment.
      
         STACK-CHECK
         GAP ==> lazy-deopt-call
      
      The pc of the lazy-deopt call that will be patched in is recorded in the
      deoptimization input data. Each Lithium instruction can have 0..n safepoints.
      All safepoints get the deoptimization index of the associated LAZY-BAILOUT
      instruction. On lazy deoptimization we use the return-pc to find the safepoint.
      The safepoint tells us the deoptimization index, which in turn finds us the
      PC where to insert the lazy-deopt-call.
      
      Additional changes:
       * RegExpLiteral marked it as having side-effects so that it 
         gets an explicitlazy-bailout instruction (instead of
         treating it specially like stack-checks)
       * Enable target recording CallFunctionStub to achieve
         more inlining on optimized code.
      
      BUG=v8:1789
      TEST=jslint and uglify run without crashing, mjsunit/compiler/regress-lazy-deopt.js
      Review URL: http://codereview.chromium.org/8492004
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      84805694
  2. 02 May, 2011 1 commit
  3. 22 Feb, 2011 1 commit
  4. 20 Jan, 2011 1 commit
  5. 05 Jan, 2011 1 commit
  6. 23 Oct, 2009 1 commit
  7. 20 Oct, 2009 1 commit
  8. 04 Mar, 2009 1 commit
  9. 26 Sep, 2008 1 commit
  10. 09 Sep, 2008 1 commit
  11. 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
  12. 03 Jul, 2008 1 commit