1. 20 Jan, 2016 1 commit
    • danno's avatar
      [compiler] Remove CodeStub from CompilationInfo · d1d01964
      danno authored
      The motivation for this is that CompilationInfo really shouldn't
      explicitly know anything about CodeStubs. This is evident in
      the TurboFan stubs pipeline, which only needs to pass down
      information about Code::Flags to the code generator and not
      any of the CallInterfaceDescriptor silliness that Hydrogen has
      to push around, since TF has the Linkage class that
      encapsulates everything that is needed for the stub ABI. So,
      instead of threading CodeStub machinery through the TF stub
      pipeline, it is now removed from CompilationInfo and replaced
      by only the explicit bits needed both by the Crankshaft and
      TF pipelines in code generation.
      
      Review URL: https://codereview.chromium.org/1604543002
      
      Cr-Commit-Position: refs/heads/master@{#33410}
      d1d01964
  2. 09 Dec, 2015 1 commit
  3. 02 Dec, 2015 1 commit
    • danno's avatar
      [stubs] A new approach to TF stubs · 3e7e3ed7
      danno authored
      * Add a sibling interface to InterpreterAssembler called
        CodeStubAssembler which provides a wrapper around the
        RawMachineAssembler and is intented to make it easy to build
        efficient cross-platform code stubs. Much of the implementation
        of CodeStubAssembler is shamelessly stolen from the
        InterpreterAssembler, and the idea is to eventually merge the
        two interfaces somehow, probably moving the
        InterpreterAssembler interface over to use the
        CodeStubAssembler. Short-term, however, the two interfaces
        shall remain decoupled to increase our velocity developing the
        two systems in parallel.
      * Implement the StringLength stub in TurboFan with the new
        CodeStubAssembler. Replace and remove the old Hydrogen-stub
        version.
      * Remove a whole slew of machinery to support JavaScript-style
        code stub generation, since it ultimately proved unwieldy,
        brittle and baroque. This cleanup includes removing the shared
        code stub context, several example stubs and a tangle of build
        file changes.
      
      BUG=v8:4587
      LOG=n
      
      Review URL: https://codereview.chromium.org/1475953002
      
      Cr-Commit-Position: refs/heads/master@{#32508}
      3e7e3ed7
  4. 26 Nov, 2015 1 commit
  5. 30 Oct, 2015 1 commit
    • mstarzinger's avatar
      Move compiler cctests into v8::internal::compiler namespace. · 16f13300
      mstarzinger authored
      This moves all cctest files for the compiler to live in the same
      namespace as the components they are testing. Hence we can avoid the
      forbidden using directives pulling in entire namespaces.
      
      From the Google C++ style guide: "You may not use a using-directive to
      make all names from a namespace available". This would be covered by
      presubmit linter checks if build/namespaces were not blacklisted.
      
      R=bmeurer@chromium.org
      
      Review URL: https://codereview.chromium.org/1424943004
      
      Cr-Commit-Position: refs/heads/master@{#31671}
      16f13300
  6. 28 Oct, 2015 1 commit
  7. 16 Oct, 2015 1 commit
    • mstarzinger's avatar
      [turbofan] Move SimplifiedOperatorBuilder into JSGraph. · b7990793
      mstarzinger authored
      This fixes the lifetime of nodes created by JSGlobalSpecialization that
      contain a simplified operator. In the case where this reducer runs as
      part of the inliner, the SimplifiedOperatorBuilder was instantiated with
      the wrong zone. This led to use-after-free of simplified operators.
      
      To avoid such situations in the future, we decided to move this operator
      builder into the JSGraph and make the situation uniform with all other
      operator builders.
      
      R=bmeurer@chromium.org
      BUG=chromium:543528
      LOG=n
      
      Review URL: https://codereview.chromium.org/1409993002
      
      Cr-Commit-Position: refs/heads/master@{#31334}
      b7990793
  8. 31 Aug, 2015 1 commit
    • mstarzinger's avatar
      [turbofan] Remove usage of Unique<T> from graph. · 6e65e6db
      mstarzinger authored
      The usage of Unique<T> throughout the TurboFan IR does not have any
      advantage. There is no single point in time when they are initialized
      and most use-sites looked through to the underlying Handle<T> anyways.
      Also there already was a mixture of Handle<T> versus Unique<T> in the
      graph and this unifies the situation to use Handle<T> everywhere.
      
      R=bmeurer@chromium.org,titzer@chromium.org
      
      Review URL: https://codereview.chromium.org/1314473007
      
      Cr-Commit-Position: refs/heads/master@{#30458}
      6e65e6db
  9. 10 Aug, 2015 1 commit
  10. 08 Jul, 2015 3 commits
    • danno's avatar
      Reland: Add unoptimized/optimized variants of MathFloor TF code stub · 737b8573
      danno authored
      - Add a TurboFanIC class, derived from TurboFanCodeStub, that
        automatically distinguishes between versions of the IC called from
        optimized and unoptimized code.
      - Add appropriate InterfaceDescriptors for both the versions of the
        stub called from unoptimized and optimized code
      - Change the MathFloor TF stub generator to output either the
        for-optimized or for-unoptimized version based on the minor_key
        parameter.
      
      Committed: https://crrev.com/8f13b655b8a10dae2116dd18b32f09337bb2d410
      Cr-Commit-Position: refs/heads/master@{#29534}
      
      Review URL: https://codereview.chromium.org/1225943002
      
      Cr-Commit-Position: refs/heads/master@{#29539}
      737b8573
    • danno's avatar
      Revert of Add unoptimized/optimized variants of MathFloor TF code stub... · 7fc183af
      danno authored
      Revert of Add unoptimized/optimized variants of MathFloor TF code stub (patchset #4 id:60001 of https://codereview.chromium.org/1225943002/)
      
      Reason for revert:
      Failure on compiling runtime.js on windows
      
      Original issue's description:
      > Add unoptimized/optimized variants of MathFloor TF code stub
      >
      > - Add a TurboFanIC class, derived from TurboFanCodeStub, that
      >   automatically distinguishes between versions of the IC called from
      >   optimized and unoptimized code.
      > - Add appropriate InterfaceDescriptors for both the versions of the
      >   stub called from unoptimized and optimized code
      > - Change the MathFloor TF stub generator to output either the
      >   for-optimized or for-unoptimized version based on the minor_key
      >   parameter.
      >
      > Committed: https://crrev.com/8f13b655b8a10dae2116dd18b32f09337bb2d410
      > Cr-Commit-Position: refs/heads/master@{#29534}
      
      TBR=mvstanton@chromium.org,bmeurer@chromium.org
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      
      Review URL: https://codereview.chromium.org/1220783006
      
      Cr-Commit-Position: refs/heads/master@{#29535}
      7fc183af
    • danno's avatar
      Add unoptimized/optimized variants of MathFloor TF code stub · 8f13b655
      danno authored
      - Add a TurboFanIC class, derived from TurboFanCodeStub, that
        automatically distinguishes between versions of the IC called from
        optimized and unoptimized code.
      - Add appropriate InterfaceDescriptors for both the versions of the
        stub called from unoptimized and optimized code
      - Change the MathFloor TF stub generator to output either the
        for-optimized or for-unoptimized version based on the minor_key
        parameter.
      
      Review URL: https://codereview.chromium.org/1225943002
      
      Cr-Commit-Position: refs/heads/master@{#29534}
      8f13b655
  11. 06 Jul, 2015 1 commit
  12. 26 May, 2015 1 commit
  13. 21 May, 2015 1 commit
  14. 20 May, 2015 1 commit
  15. 11 May, 2015 1 commit
    • danno's avatar
      Add a MathFloor stub generated with TurboFan · abc35080
      danno authored
      This stub will be used as the basis of a Math.floor-specific CallIC to
      detect and track calls to floor that return -0.
      
      Along the way:
      - Create a TurboFanCodeStub super class from which the StringLength and
      MathRound TF stubs derive.
      - Fix the ugly hack that passes the first stub parameter as the "this"
      pointer in the the TF-compiled JS function.
      - Fix bugs in the ia32/x64 disassembler.
      
      Review URL: https://codereview.chromium.org/1137703002
      
      Cr-Commit-Position: refs/heads/master@{#28339}
      abc35080
  16. 20 Apr, 2015 1 commit
  17. 24 Mar, 2015 1 commit
  18. 18 Mar, 2015 1 commit
  19. 27 Feb, 2015 1 commit