1. 04 Mar, 2019 1 commit
  2. 22 Nov, 2013 1 commit
  3. 08 Nov, 2011 1 commit
    • keuchel@chromium.org's avatar
      Reapply r9870 "Remove some initialization checks based on source positions.". · 72dba271
      keuchel@chromium.org authored
      This reverts r9896 "Revert r9870 due to browser-test failures." See below for
      the diff from the previous version for the ia32 platform. The code for other
      platforms has been changed accordingly.
      
      TEST=mjsunit/compiler/lazy-const-lookup.js
      
      diff --git a/src/ia32/full-codegen-ia32.cc b/src/ia32/full-codegen-ia32.cc
      index 2cbf518..1990f2f 100644
      --- a/src/ia32/full-codegen-ia32.cc
      +++ b/src/ia32/full-codegen-ia32.cc
      @@ -1258,13 +1258,17 @@ void FullCodeGenerator::EmitVariableLoad(VariableProxy* proxy) {
               // binding is initialized:
               //   function() { f(); let x = 1; function f() { x = 2; } }
               //
      -        // Check that we always have valid source position.
      -        ASSERT(var->initializer_position() != RelocInfo::kNoPosition);
      -        ASSERT(proxy->position() != RelocInfo::kNoPosition);
      -        bool skip_init_check =
      -            var->mode() != CONST &&
      -            var->scope()->DeclarationScope() == scope()->DeclarationScope() &&
      -            var->initializer_position() < proxy->position();
      +        bool skip_init_check;
      +        if (var->scope()->DeclarationScope() != scope()->DeclarationScope()) {
      +          skip_init_check = false;
      +        } else {
      +          // Check that we always have valid source position.
      +          ASSERT(var->initializer_position() != RelocInfo::kNoPosition);
      +          ASSERT(proxy->position() != RelocInfo::kNoPosition);
      +          skip_init_check = var->mode() != CONST &&
      +              var->initializer_position() < proxy->position();
      +        }
      +
               if (!skip_init_check) {
                 // Let and const need a read barrier.
                 Label done;
      
      Review URL: http://codereview.chromium.org/8479034
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9915 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      72dba271
  4. 09 Jun, 2011 1 commit
  5. 08 Jun, 2011 1 commit
  6. 09 Sep, 2008 1 commit
  7. 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
  8. 03 Jul, 2008 1 commit