1. 17 May, 2016 1 commit
    • jyan's avatar
      PPC/S390: [es6] Reintroduce the instanceof operator in the backends. · e9aad72f
      jyan authored
      port 551e0aa1
      
      Original Commit Messag:
        This adds back the instanceof operator support in the backends and
        introduces a @@hasInstance protector cell on the isolate that guards the
        fast path for the InstanceOfStub. This way we recover the ~10%
        regression on Octane EarleyBoyer in Crankshaft and greatly improve
        TurboFan and Ignition performance of instanceof.
      
      R=bmeurer@chromium.org, ishell@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com
      TBR=hpayer@chromium.org,rossberg@chromium.org
      BUG=chromium:597249, v8:4447
      LOG=n
      
      Review-Url: https://codereview.chromium.org/1989523002
      Cr-Commit-Position: refs/heads/master@{#36290}
      e9aad72f
  2. 10 May, 2016 2 commits
  3. 09 May, 2016 2 commits
  4. 04 May, 2016 1 commit
  5. 03 May, 2016 2 commits
  6. 28 Apr, 2016 1 commit
  7. 25 Apr, 2016 1 commit
  8. 22 Apr, 2016 1 commit
  9. 20 Apr, 2016 1 commit
    • jyan's avatar
      S390: Remove all non-function-name uses of CONST_LEGACY · 70d2c1cf
      jyan authored
      Port 59546149
      
      Original commit message:
      
          Now that all 'const' declarations are of the ES2015 variety, the only
          use of CONST_LEGACY is for function name bindings in sloppy mode
          named function expressions.
      
          This patch aims to delete all code meant to handle other cases, which
          mostly had to do with hole initialization/hole checks. Since function
          name bindings are initialized at entry to a function, it's impossible
          to ever observe one in an uninitialized state.
      
          To simplify the patch further, it removes the `IMPORT` VariableMode,
          as it's not likely to be needed (IMPORT is identical to CONST for
          the purpose of VariableMode).
      
      R=adamk@chromium.org, joransiu@ca.ibm.com, bjaideep@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com
      
      BUG=
      LOG=N
      
      Review URL: https://codereview.chromium.org/1901423004
      
      Cr-Commit-Position: refs/heads/master@{#35673}
      70d2c1cf
  10. 18 Apr, 2016 3 commits
  11. 15 Apr, 2016 1 commit
  12. 14 Apr, 2016 3 commits
  13. 12 Apr, 2016 1 commit
  14. 08 Apr, 2016 1 commit
  15. 07 Apr, 2016 1 commit
  16. 06 Apr, 2016 1 commit
    • jyan's avatar
      S390: [generators] Decouple generator resume from fullcodegen. · 41a92985
      jyan authored
      Port 974721c6
      
      Original commit message:
          Introduce a ResumeGeneratorTrampoline, which does the actual stack state
          reconstruction (currently always restores a fullcodegen frame), and
          introduce appropriate TurboFan builtins for %GeneratorPrototype%.next,
          %GeneratorPrototype%.return and %GeneratorPrototype%.throw based on
          this native builtin.
      
          Also unify the flooding in case of step-in to always work based on
          JSFunction and remove the special casing for JSGeneratorObject.
      
      R=bmeurer@chromium.org, joransiu@ca.ibm.com, mbrandy@us.ibm.com, michael_dawson@ca.ibm.com, bjaideep@ca.ibm.com
      BUG=chromium:513471
      LOG=n
      
      Review URL: https://codereview.chromium.org/1870483002
      
      Cr-Commit-Position: refs/heads/master@{#35316}
      41a92985
  17. 05 Apr, 2016 2 commits
  18. 04 Apr, 2016 1 commit
  19. 01 Apr, 2016 1 commit
  20. 31 Mar, 2016 1 commit
    • bmeurer's avatar
      [full-codegen] Reload context register after intrinsic call. · 833618d9
      bmeurer authored
      Previously all code stubs (i.e. both platform and Crankshaft code stubs)
      preserved the context register for full-codegen (neither Ignition, nor
      TurboFan nor Crankshaft require this or would benefit from this), but
      the newly introduced TurboFanCodeStubs no longer do this and there's no
      need to, so we have to make sure in full-codegen that we restore the
      context register after intrinsic calls, which potentially call
      TurboFanCodeStubs.
      
      Drive-by-fix: VisitThisFunction can be made platform independent.
      
      R=verwaest@chromium.org
      
      Review URL: https://codereview.chromium.org/1848553002
      
      Cr-Commit-Position: refs/heads/master@{#35154}
      833618d9
  21. 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
  22. 17 Mar, 2016 2 commits
  23. 16 Mar, 2016 2 commits
  24. 15 Mar, 2016 2 commits
  25. 08 Mar, 2016 1 commit
    • verwaest's avatar
      Don't do any special normalization if a boilerplate contains function literals. · fd405704
      verwaest authored
      This mechanism was used to ensure that functions ended up as constants on the map of prototypes defined using object literals, e.g.,:
      
      function.prototype = {
        method: function() { ... }
      }
      
      Nowadays we treat prototypes specially, and make all their functions constants when an object turns prototype. Hence this special custom code isn't necessary anymore.
      
      This also affects boilerplates that do not become prototypes. Their functions will not be constants but fields instead. Calling their methods will slow down. However, multiple instances of the same boilerplate will stay monomorphic. We'll have to see what the impact is for such objects, but preliminary benchmarks do not show this as an important regression.
      
      BUG=chromium:593008
      LOG=n
      
      Review URL: https://codereview.chromium.org/1772423002
      
      Cr-Commit-Position: refs/heads/master@{#34602}
      fd405704
  26. 07 Mar, 2016 1 commit