1. 23 Jul, 2018 1 commit
  2. 07 Jun, 2018 1 commit
  3. 28 May, 2018 1 commit
  4. 25 May, 2018 1 commit
  5. 30 Apr, 2018 1 commit
  6. 28 Apr, 2018 1 commit
  7. 09 Apr, 2018 1 commit
  8. 06 Apr, 2018 2 commits
    • Michael Achenbach's avatar
      Revert "[cleanup] Refactor the Factory" · 503e07c3
      Michael Achenbach authored
      This reverts commit f9a2e24b.
      
      Reason for revert: gc stress failures not all fixed by follow up.
      
      Original change's description:
      > [cleanup] Refactor the Factory
      > 
      > There is no good reason to have the meat of most objects' initialization
      > logic in heap.cc, all wrapped by the CALL_HEAP_FUNCTION macro. Instead,
      > this CL changes the protocol between Heap and Factory to be AllocateRaw,
      > and all object initialization work after (possibly retried) successful
      > raw allocation happens in the Factory.
      > 
      > This saves about 20KB of binary size on x64.
      > 
      > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      > Change-Id: Icbfdc4266d7be8b48d2fe085f03411743dc6a0ca
      > Reviewed-on: https://chromium-review.googlesource.com/959533
      > Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      > Reviewed-by: Hannes Payer <hpayer@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#52416}
      
      TBR=jkummerow@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,hpayer@chromium.org
      
      Change-Id: Idbbc53478742f3e9525eee83342afc6aedae122f
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/999414Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52420}
      503e07c3
    • Jakob Kummerow's avatar
      [cleanup] Refactor the Factory · f9a2e24b
      Jakob Kummerow authored
      There is no good reason to have the meat of most objects' initialization
      logic in heap.cc, all wrapped by the CALL_HEAP_FUNCTION macro. Instead,
      this CL changes the protocol between Heap and Factory to be AllocateRaw,
      and all object initialization work after (possibly retried) successful
      raw allocation happens in the Factory.
      
      This saves about 20KB of binary size on x64.
      
      Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      Change-Id: Icbfdc4266d7be8b48d2fe085f03411743dc6a0ca
      Reviewed-on: https://chromium-review.googlesource.com/959533
      Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52416}
      f9a2e24b
  9. 08 Oct, 2016 1 commit
  10. 06 Oct, 2016 1 commit
    • mvstanton's avatar
      [Turbofan] Introduce OtherNumberConstant. · 978fe70b
      mvstanton authored
      With this CL, we devolve all Constants introduced as they are with an object handle into
      
      * Range - for integers
      * Nan
      * MinusZero
      * OtherNumberConstant - for doubles
      * HeapConstant
      
      We reduce the amount we have to inspect an object handle during optimization. Also, simplifications result. For example, you never have to check if a Range contains a HeapConstant.
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2381523002
      Cr-Commit-Position: refs/heads/master@{#40041}
      978fe70b
  11. 27 Sep, 2016 1 commit
  12. 26 Sep, 2016 2 commits
  13. 23 Sep, 2016 1 commit
  14. 22 Sep, 2016 1 commit
  15. 05 Sep, 2016 4 commits
  16. 01 Sep, 2016 1 commit
  17. 17 Aug, 2016 1 commit
    • mstarzinger's avatar
      [turbofan] Remove representation axis for float64 fields. · 5c6719fc
      mstarzinger authored
      This removes the representation axis from the type of {Load/StoreField}
      operators representing a property load/store. The representation would
      be narrowed to {None} which causes problems for all places where we use
      the type to reason about the value representation. Instead we should
      fully switch to {MachineRepresentation}. This is just a stop-gap fix.
      
      R=jarin@chromium.org
      BUG=chromium:636716
      
      Review-Url: https://codereview.chromium.org/2255533003
      Cr-Commit-Position: refs/heads/master@{#38678}
      5c6719fc
  18. 02 Feb, 2016 1 commit
    • jarin's avatar
      Remove the template magic from types.(h|cc), remove types-inl.h. · ef35f11c
      jarin authored
      This CL removes the Config templatization from the types. It is not
      necessary anymore, after the HeapTypes have been removed.
      
      The CL also changes the type hierarchy - the specific type kinds are
      not inner classes of the Type class and they do not inherit from Type.
      This is partly because it seems impossible to make this work without
      templates. Instead, a new TypeBase class is introduced and all the
      structural (i.e., non-bitset) types inherit from it.
      
      The bitset type still requires the bit-munging hack and some nasty
      reinterpret-casts to pretend bitsets are of type Type*. Additionally,
      there is now the same hack for TypeBase - all pointers to the sub-types
      of TypeBase are reinterpret-casted to Type*. This is to keep the type
      constructors in inline method definitions (although it is unclear how
      much that actually buys us).
      
      In future, we would like to move to a model where we encapsulate Type*
      into a class (or possibly use Type where we used to use Type*). This
      would loosen the coupling between bitset size and pointer size, and
      eventually we would be able to have more bits.
      
      TBR=bradnelson@chromium.org
      
      Review URL: https://codereview.chromium.org/1655833002
      
      Cr-Commit-Position: refs/heads/master@{#33656}
      ef35f11c
  19. 30 Sep, 2015 1 commit
  20. 28 Sep, 2015 1 commit
  21. 21 Aug, 2015 1 commit
    • rossberg's avatar
      [simd] Introduce SIMD types (as classes) · a60f1922
      rossberg authored
      - Introduce a proper bit for SIMD primitive values.
      - Introduce constructors for individual SIMD types. These are currently just classes, which seems good enough for now, given that we always have exactly one global map per SIMD type.
      
      The only problem with using class types for SIMD is that a SIMD constant won't be a subtype of its specific type, only of the general SIMD type. But until we actually introduce SIMD constants into the compiler that shouldn't matter.
      
      R=jarin@chromium.org
      BUG=
      
      Review URL: https://codereview.chromium.org/1303863002
      
      Cr-Commit-Position: refs/heads/master@{#30294}
      a60f1922
  22. 10 Apr, 2015 1 commit
  23. 12 Feb, 2015 1 commit
  24. 28 Jan, 2015 2 commits
  25. 22 Jan, 2015 1 commit
    • bmeurer's avatar
      Revert of Steps towards unification of number bitset and range types.... · 76193749
      bmeurer authored
      Revert of Steps towards unification of number bitset and range types. (patchset #4 id:60001 of https://codereview.chromium.org/837723006/)
      
      Reason for revert:
      Breaks test-types/Maybe, i.e.
      
      out/Release/cctest --random-seed=-707413401 test-types/Maybe
      
      started failing afterwards
      
      Original issue's description:
      > Steps towards unification of number bitset and range types.
      >
      > - New invariant on union types: if the union has a range then the number
      >   bits in the bitset must be cleared.
      >
      > - Various tweaks in intersection and union to satisfy the invariant.
      >
      > - Exposed and used representation bits in range types (and the Limits
      >   helper class).
      >
      > - Implemented Glb for ranges so that the Is predicate handles
      >   ranges correctly.
      >
      > - Change typer weakening so that it does not rely on GetRange.
      >   However, the code still seems to be a bit fragile.
      >
      > - Removed the Smi types from the type system core, instead introduced
      >   Signed31, Unsigned30 and created constructors for Small(Un)Signed
      >   that point to the right type for the architecture.
      >
      > - Punched a hole in the config to be able to get to the isolate so
      >   that it is possible to allocate heap numbers for newly created
      >   ranges.
      >
      > Patch by jarin@chromium.prg, original review here:
      > https://codereview.chromium.org/795713003/
      >
      > TBR=jarin@chromium.org
      > BUG=
      >
      > Committed: https://crrev.com/2764fd8d1a266a9136c987c2483492113b0c8d80
      > Cr-Commit-Position: refs/heads/master@{#26197}
      
      TBR=jkummerow@chromium.org,rossberg@chromium.org
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=
      
      Review URL: https://codereview.chromium.org/868583002
      
      Cr-Commit-Position: refs/heads/master@{#26207}
      76193749
  26. 21 Jan, 2015 1 commit
    • rossberg's avatar
      Steps towards unification of number bitset and range types. · 2764fd8d
      rossberg authored
      - New invariant on union types: if the union has a range then the number
        bits in the bitset must be cleared.
      
      - Various tweaks in intersection and union to satisfy the invariant.
      
      - Exposed and used representation bits in range types (and the Limits
        helper class).
      
      - Implemented Glb for ranges so that the Is predicate handles
        ranges correctly.
      
      - Change typer weakening so that it does not rely on GetRange.
        However, the code still seems to be a bit fragile.
      
      - Removed the Smi types from the type system core, instead introduced
        Signed31, Unsigned30 and created constructors for Small(Un)Signed
        that point to the right type for the architecture.
      
      - Punched a hole in the config to be able to get to the isolate so
        that it is possible to allocate heap numbers for newly created
        ranges.
      
      Patch by jarin@chromium.prg, original review here:
      https://codereview.chromium.org/795713003/
      
      TBR=jarin@chromium.org
      BUG=
      
      Review URL: https://codereview.chromium.org/837723006
      
      Cr-Commit-Position: refs/heads/master@{#26197}
      2764fd8d
  27. 20 Dec, 2014 1 commit
  28. 19 Dec, 2014 1 commit
  29. 11 Dec, 2014 1 commit
  30. 10 Dec, 2014 2 commits
  31. 23 Oct, 2014 1 commit
  32. 17 Oct, 2014 1 commit