1. 30 Aug, 2016 1 commit
  2. 29 Aug, 2016 1 commit
    • mvstanton's avatar
      [Turbofan]: Use new MachineTypes in access-builder. · 56429fc1
      mvstanton authored
      Introduced MachineType::TaggedSigned() and TaggedPointer().
      
      The idea is to quit using the representational dimension of Type, and
      instead encode this information in the MachineRepresentation (itself
      lightly wrapped in MachineType, along with MachineSemantic).
      
      There are three parts to the whole change:
      
      1) Places that set the machine representation - constant nodes, loads nad
         stores, global object and native context specialization.
      
      2) Places that propagate type/representation - this is representation
         inference (aka simplified lowering). At the end of this process we
         expect to have a MachineRepresentation for every node. An interesting
         part of this is phi merging.
      
      3) Places that examine representation - WriteBarrier elimination does this.
         Currently it's looking at the Type representation dimension, but as
         a part of this change (or in a soon-to-follow change) it can simply
         examine the MachineRepresentation.
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2258073002
      Cr-Commit-Position: refs/heads/master@{#38978}
      56429fc1
  3. 16 Aug, 2016 1 commit
  4. 22 Jul, 2016 1 commit
  5. 30 Jun, 2016 1 commit
  6. 29 Jun, 2016 1 commit
  7. 10 May, 2016 1 commit
    • bbudge's avatar
      [turbofan] Rename floating point register / slot methods. · 8c8600db
      bbudge authored
      Renames IsDouble* predicates to IsFP*.
      Adds specific IsFloat*, IsDouble*, and IsSimd128* predicates.
      Adds specific GetFloatRegister, GetDoubleRegister, and
      GetSimd128Register methods.
      
      This is mostly a mechanical renaming of IsDouble* to IsFP* methods.
      
      This shouldn't change code generation at all. All fp registers are still
      treated as double registers.
      
      LOG=N
      BUG=v8:4124
      
      Review-Url: https://codereview.chromium.org/1959763002
      Cr-Commit-Position: refs/heads/master@{#36146}
      8c8600db
  8. 17 Feb, 2016 1 commit
  9. 10 Dec, 2015 1 commit
    • jarin's avatar
      [turbofan] Make MachineType a pair of enums. · bb2a830d
      jarin authored
      MachineType is now a class with two enum fields:
      - MachineRepresentation
      - MachineSemantic
      
      Both enums are usable on their own, and this change switches some places from using MachineType to use just MachineRepresentation. Most notably:
      - register allocator now uses just the representation.
      - Phi and Select nodes only refer to representations.
      
      Review URL: https://codereview.chromium.org/1513543003
      
      Cr-Commit-Position: refs/heads/master@{#32738}
      bb2a830d
  10. 03 Dec, 2015 1 commit
  11. 11 Aug, 2015 2 commits
  12. 10 Aug, 2015 1 commit
  13. 15 Jun, 2015 1 commit
  14. 05 May, 2015 1 commit
    • bmeurer's avatar
      [turbofan] Fix tail call optimization. · d21de2a4
      bmeurer authored
      Tail calls are matched on the graph, with a dedicated tail call
      optimization that is actually testable. The instruction selection can
      still fall back to a regular if the platform constraints don't allow to
      emit a tail call (i.e. the return locations of caller and callee differ
      or the callee takes non-register parameters, which is a restriction that
      will be removed in the future).
      
      Also explicitly limit tail call optimization to stubs for now and drop
      the global flag.
      
      BUG=v8:4076
      LOG=n
      
      Review URL: https://codereview.chromium.org/1114163005
      
      Cr-Commit-Position: refs/heads/master@{#28219}
      d21de2a4
  15. 04 May, 2015 1 commit
  16. 31 Oct, 2014 1 commit
  17. 29 Oct, 2014 1 commit
  18. 08 Oct, 2014 1 commit
  19. 30 Sep, 2014 1 commit
  20. 11 Sep, 2014 1 commit
  21. 03 Sep, 2014 1 commit
  22. 02 Sep, 2014 1 commit
  23. 28 Aug, 2014 1 commit
  24. 26 Aug, 2014 1 commit
  25. 25 Aug, 2014 1 commit
  26. 14 Aug, 2014 1 commit
  27. 11 Aug, 2014 1 commit