1. 07 Feb, 2017 1 commit
  2. 17 Oct, 2016 1 commit
  3. 08 Oct, 2016 1 commit
  4. 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
  5. 28 Sep, 2016 1 commit
  6. 27 Sep, 2016 1 commit
  7. 26 Sep, 2016 1 commit
  8. 22 Sep, 2016 1 commit
  9. 05 Sep, 2016 4 commits
  10. 02 Sep, 2016 1 commit
    • mvstanton's avatar
      Forking the type system between Crankshaft & Turbofan. · 17e9e2f4
      mvstanton authored
      Our Type class has a semantic and representational dimension.
      Much code in src/ast, Crankshaft and Turbofan is based on it.
      Going forward in Turbofan we'd like to remove representational information
      entirely. To that end, new type AstType has been created to preserve
      existing behavior for the benefit of Crankshaft and the AST.
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2302283002
      Cr-Commit-Position: refs/heads/master@{#39135}
      17e9e2f4
  11. 01 Sep, 2016 1 commit
  12. 01 Apr, 2016 1 commit
  13. 27 Feb, 2016 1 commit
  14. 26 Feb, 2016 1 commit
  15. 24 Feb, 2016 1 commit
    • bmeurer's avatar
      [compiler] Drop the CompareNilIC. · 666aec03
      bmeurer authored
      Since both null and undefined are also marked as undetectable now, we
      can just test that bit instead of having the CompareNilIC try to collect
      feedback to speed up the general case (without the undetectable bit
      being used).
      
      Drive-by-fix: Update the type system to match the new handling of
      undetectable in the runtime.
      
      R=danno@chromium.org
      
      Review URL: https://codereview.chromium.org/1722193002
      
      Cr-Commit-Position: refs/heads/master@{#34237}
      666aec03
  16. 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
  17. 26 Jan, 2016 1 commit
    • jarin's avatar
      Replace HeapType with a non-templated FieldType class. · cfaeb63b
      jarin authored
      This replace HeapType with a dedicated class that implements just what we need for field type tracking. In the next CL, I plan to remove FieldType::Iterator because FieldType can iterate over at most one map.
      
      The ultimate plan is to get rid of templates in types.(h|cc) and remove type-inl.h.
      
      TBR=rossberg@chromium.org
      
      Review URL: https://codereview.chromium.org/1636013002
      
      Cr-Commit-Position: refs/heads/master@{#33521}
      cfaeb63b
  18. 09 Dec, 2015 1 commit
  19. 20 Oct, 2015 1 commit
  20. 21 Sep, 2015 1 commit
    • mythria's avatar
      Continuing removing deprecated function from cctest · 41111e3d
      mythria authored
      Removes deprecated functions from the following files:
      
      test/cctest/compiler/function-tester.h
      test/cctest/test-thread-termination.cc
      test/cctest/test-threads.cc
      test/cctest/test-transitions.cc
      test/cctest/test-typedarrays.cc
      test/cctest/test-types.cc
      test/cctest/test-typing-reset.cc
      test/cctest/test-unbound-queue.cc
      test/cctest/test-unboxed-doubles.cc
      
      BUG=v8:4134
      LOG=n
      
      Review URL: https://codereview.chromium.org/1344583002
      
      Cr-Commit-Position: refs/heads/master@{#30846}
      41111e3d
  21. 26 Jun, 2015 1 commit
  22. 23 Jun, 2015 1 commit
  23. 19 Jun, 2015 2 commits
  24. 21 Apr, 2015 1 commit
  25. 10 Apr, 2015 2 commits
  26. 12 Feb, 2015 1 commit
  27. 28 Jan, 2015 2 commits
  28. 23 Jan, 2015 1 commit
    • danno's avatar
      Remove the dependency of Zone on Isolate · c7b09aac
      danno authored
      Along the way:
      - Thread isolate parameter explicitly through code that used to
        rely on getting it from the zone.
      - Canonicalize the parameter position of isolate and zone for
        affected code
      - Change Hydrogen New<> instruction templates to automatically
        pass isolate
      
      R=mstarzinger@chromium.org
      LOG=N
      
      Review URL: https://codereview.chromium.org/868883002
      
      Cr-Commit-Position: refs/heads/master@{#26252}
      c7b09aac
  29. 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
  30. 21 Jan, 2015 2 commits
    • 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
    • bmeurer's avatar
      Remove deprecated v8::base::OS::nan_value(). · 4b31a97d
      bmeurer authored
      Use std::numeric_limits<double>::quiet_NaN() and
      std::numeric_limits<float>::quiet_NaN() instead.
      
      Review URL: https://codereview.chromium.org/864803002
      
      Cr-Commit-Position: refs/heads/master@{#26195}
      4b31a97d
  31. 20 Dec, 2014 1 commit
  32. 19 Dec, 2014 1 commit
  33. 11 Dec, 2014 1 commit