1. 22 Mar, 2016 1 commit
    • adamk's avatar
      Remove support for legacy const, part 1 · ed18aa65
      adamk authored
      Now that ES2015 const has shipped, in Chrome 49, legacy const declarations
      are no more. This lets us remove a bunch of code from many parts of the
      codebase.
      
      In this patch, I remove parser support for generating legacy const variables
      from const declarations. This also removes the special "illegal declaration"
      bit from Scope, which has ripples into all compiler backends.
      
      Also gone are any tests which relied on legacy const declarations.
      
      Note that we do still generate a Variable in mode CONST_LEGACY in one case:
      function name bindings in sloppy mode. The likely fix there is to add a new
      Variable::Kind for this case and handle it appropriately for stores in each
      backend, but I leave that for a later patch to make this one completely
      subtractive.
      
      Review URL: https://codereview.chromium.org/1819123002
      
      Cr-Commit-Position: refs/heads/master@{#35002}
      ed18aa65
  2. 11 Jan, 2016 1 commit
    • littledan's avatar
      Ship ES2015 sloppy-mode const semantics · 95145fa8
      littledan authored
      This patch moves the semantics of 'const' in sloppy mode to match those
      in strict mode, that is, const makes lexical (let-like) bindings, must
      have an initializer, and does not create properties of the global object.
      
      R=adamk
      LOG=Y
      BUG=v8:3305
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      
      Review URL: https://codereview.chromium.org/1571873004
      
      Cr-Commit-Position: refs/heads/master@{#33218}
      95145fa8
  3. 29 Jun, 2015 1 commit
  4. 14 Jul, 2014 1 commit
  5. 27 Jun, 2014 1 commit
  6. 01 Jun, 2012 1 commit
    • rossberg@chromium.org's avatar
      Implement correct checking for inherited readonliness on assignment. · e4c472a7
      rossberg@chromium.org authored
      Removes 6 out of 8 of our remaining unintentional failures on test262.
      
      Also fixes treatment of inherited setters added after the fact.
      
      Specifically:
      
      - In the runtime, when looking for setter callbacks in the prototype chain,
        also look for read-only properties. If one is found, reject (exception in
        strict mode). If a proxy is found, invoke proper trap.
        Note: this folds in the CanPut function from the spec and avoids an extra
        lookup over the prototype chain.
      
      - In generated code for stores, insert a test for the maps from the prototype
        chain, but only up to the object where the property already exists (which
        may be the object itself).
        In Hydrogen, if the found property is read-only or not cacheable (e.g. a
        proxy), bail out; in a stub, generate an unconditional miss (to get an
        exception in strict mode).
      
      - Add test cases and adapt existing test expectations.
      
      R=mstarzinger@chromium.org
      BUG=
      TEST=
      
      Review URL: https://chromiumcodereview.appspot.com/10388047
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11694 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      e4c472a7
  7. 15 Apr, 2011 1 commit
  8. 03 Oct, 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