1. 13 Dec, 2018 2 commits
  2. 12 Dec, 2018 2 commits
  3. 11 Dec, 2018 1 commit
  4. 07 Dec, 2018 1 commit
  5. 05 Dec, 2018 1 commit
    • Daniel Clifford's avatar
      [torque] Add new and refine existing Torque intrinsic support · 79605b45
      Daniel Clifford authored
      Intrinsic changes:
      
      - Rename %RawCast to %RawObjectCast and add error checking so that it
        only applies to subtypes of Objects.
      
      - Add %RawPointerCast, which is similar to %RawObjectCast but must be
        used for all subtypes of RawPtr.
      
      - Add %RawConstexprCast, which allows one constexpr to be be cast to
        another at compile time. It translate to an appropriate static_cast
        in the generated code
      
      - Add %FromConstexpr, which handles most of the standard cases of
        generating XXXConstant CSA nodes from constexpr constants. It uses
        either SmiConstant, NumberConstant, StringConstant, IntPtrConstant
        or Int32Constant, depending on the cast-to type generic <To> type.
      
      - Add support for intrinsics that return constexpr results.
      
      Cleanup:
      
      - Turn FromConstexpr into a generic with two generic types, a <To> and
        a <From> type. Most FromConstexpr can use the new %FromConstexpr
        intrinsic rather than provide an explicit implementation.
      
      Bug: v8:7793
      Change-Id: Icab5db16d203034ec157fa3ad5157d10c7dc8464
      Reviewed-on: https://chromium-review.googlesource.com/c/1357049
      Commit-Queue: Daniel Clifford <danno@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58049}
      79605b45
  6. 27 Nov, 2018 1 commit
  7. 14 Nov, 2018 1 commit
  8. 13 Nov, 2018 1 commit
  9. 06 Nov, 2018 3 commits
  10. 05 Nov, 2018 2 commits
  11. 29 Oct, 2018 1 commit
  12. 25 Oct, 2018 2 commits
  13. 24 Oct, 2018 2 commits
  14. 23 Oct, 2018 1 commit
  15. 19 Oct, 2018 3 commits
  16. 11 Oct, 2018 1 commit
    • Daniel Clifford's avatar
      [torque] Implement implicit parameters · 9958694f
      Daniel Clifford authored
      The implicit parameter syntax adds a second parameter list
      before the explicit parameter list when declaring macros, builtins and
      runtime functions:
      
        extern macro MyMacro(implicit a: Smi)(b: Oddball);
      
      when calling the macro, only the formal parameters can be provided
      at the call site. The implicit parameters are implicitly looked-up
      by name in the scope of the call and prepended to the explicit parameter
      list. The values that are found by name for each implicit parameter must
      be castable the corresponding implicit parameter type:
      
        MyMacro(Null);  // Error, a is not defined
        ...
        const a: Smi = 0;
        MyMacro(Null);  // OK
        ...
        const a: Object = 0;
        MyMacro(Null);  // Error, a has wrong type
      
      For external macros, builtins and runtime functions, the formal
      parameter list expected on the C++ side is the concatenation of the
      implicit and explicit parameter lists.
      
      As a drive-by: fix the formatting of typeswitch statements in the
      the presence of deferred-marked blocks and funky white space.
      
      Bug: v8:7793
      Change-Id: I40da8405c706d7cdeca35367c9c954d0b33f6bf4
      Reviewed-on: https://chromium-review.googlesource.com/c/1270996
      Commit-Queue: Daniel Clifford <danno@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56555}
      9958694f
  17. 26 Sep, 2018 1 commit
  18. 25 Sep, 2018 1 commit
  19. 24 Sep, 2018 1 commit
    • Daniel Clifford's avatar
      [torque] Improve formatting in format-torque · f088840a
      Daniel Clifford authored
      Issues/problems addressed:
      
      - Fix line-wrapping and indenting for long declarations including strings,
        e.g. generates and constexpr clauses.
      - Implement proper formatting for typeswitch statements
      - Fix formatting of operator declarations
      - Fix formatting of constexpr if-clauses (the constexpr is now included on the
        same line as the if and it doesn't mess up the formatting that
      - Fix formatting of label declarations on callables, the "label" keyword now
        always starts a new line with indentation.
      - Remove space after identifier name in generic parameter declarations, e.g.
        "<a : T>" is now "<a: T>" which is consistent with type specification
        formatting elsewhere.
      - Indent "otherwise" clauses that have been pushed to the next line.
      
      Also ran the formatter over all existing .tq files.
      
      Bug: v8:7793
      Change-Id: I5adbb2ffa3d573deed062f9a5c1da57348c8fc71
      Reviewed-on: https://chromium-review.googlesource.com/1238580
      Commit-Queue: Daniel Clifford <danno@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56158}
      f088840a
  20. 18 Sep, 2018 1 commit
  21. 14 Sep, 2018 1 commit
    • Jakob Gruber's avatar
      Revert "[builtins] Add FastCallFunction builtin that elides some checks" · 74320a1b
      Jakob Gruber authored
      This reverts commit 99e13e58.
      
      Reason for revert: Reverting in favor of a general mechanism for this in Torque.
      
      Original change's description:
      > [builtins] Add FastCallFunction builtin that elides some checks
      > 
      > This CL adds a new "Call" stub that can be used by builtins that will
      > call the same JS call-back function often (e.g. compare function in
      > Array.p.sort). The checks have to be done upfront once, but can then
      > be omitted.
      > 
      > R=​jgruber@chromium.org
      > 
      > Bug: v8:7861
      > Change-Id: Id6e4ca27c3d488a7b1f708cbcb4cbe6cc382513e
      > Reviewed-on: https://chromium-review.googlesource.com/1208574
      > Commit-Queue: Simon Zünd <szuend@google.com>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Camillo Bruni <cbruni@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#55769}
      
      TBR=cbruni@chromium.org,jgruber@chromium.org,szuend@google.com
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: v8:7861
      Change-Id: I47260993ef2a16bd5348bb0b46da4d34d33ea10b
      Reviewed-on: https://chromium-review.googlesource.com/1226871
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55897}
      74320a1b
  22. 11 Sep, 2018 2 commits
  23. 07 Sep, 2018 1 commit
  24. 05 Sep, 2018 1 commit
  25. 03 Sep, 2018 1 commit
  26. 24 Aug, 2018 1 commit
  27. 23 Aug, 2018 3 commits
    • Simon Zünd's avatar
      Reland ^2 "[array] Move Array.p.sort to Torque and use TimSort instead of QuickSort" · fa11e2ac
      Simon Zünd authored
      This is a reland of 9e48a24f
      
      Original change's description:
      > Reland "[array] Move Array.p.sort to Torque and use TimSort instead of QuickSort"
      >
      > The CL was reverted because it broke some tests in ChromeOS.
      >
      > > [array] Move Array.p.sort to Torque and use TimSort instead of QuickSort
      > >
      > > This CL changes the sorting algorithm used in Array.p.sort from
      > > QuickSort to TimSort (implemented in Torque).
      > >
      > > Detailed performance results can be found here: https://goo.gl/4E733J
      > >
      > > To save on code space, fast-paths are implemented as sets of
      > > function pointers instead of specializing generics.
      > >
      > > R=cbruni@chromium.org, jgruber@chromium.org
      > >
      > > Bug: v8:7382, v8:7624
      > > Change-Id: I7cd4287e4562d84ab7c79c58ae30780630f976de
      > > Reviewed-on: https://chromium-review.googlesource.com/1151199
      > > Commit-Queue: Simon Zünd <szuend@google.com>
      > > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > > Reviewed-by: Camillo Bruni <cbruni@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#55003}
      >
      > Bug: v8:7382, v8:7624
      > Change-Id: Ic7a3230f3708177774b0760f08b7659d83ec5505
      > Reviewed-on: https://chromium-review.googlesource.com/1184901
      > Commit-Queue: Simon Zünd <szuend@google.com>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#55325}
      
      Bug: v8:7382, v8:7624
      Change-Id: I297611f45c09967e0f6961156b0c9ebdebc7053f
      Reviewed-on: https://chromium-review.googlesource.com/1186801
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55360}
      fa11e2ac
    • Maya Lekova's avatar
      Revert "Reland "[array] Move Array.p.sort to Torque and use TimSort instead of QuickSort"" · 8e43b9c0
      Maya Lekova authored
      This reverts commit 9e48a24f.
      
      Reason for revert: Possibly breaking the V8-Blink Mac bot - https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8-Blink%20Mac/15097
      
      Original change's description:
      > Reland "[array] Move Array.p.sort to Torque and use TimSort instead of QuickSort"
      > 
      > The CL was reverted because it broke some tests in ChromeOS.
      > 
      > > [array] Move Array.p.sort to Torque and use TimSort instead of QuickSort
      > >
      > > This CL changes the sorting algorithm used in Array.p.sort from
      > > QuickSort to TimSort (implemented in Torque).
      > >
      > > Detailed performance results can be found here: https://goo.gl/4E733J
      > >
      > > To save on code space, fast-paths are implemented as sets of
      > > function pointers instead of specializing generics.
      > >
      > > R=cbruni@chromium.org, jgruber@chromium.org
      > >
      > > Bug: v8:7382, v8:7624
      > > Change-Id: I7cd4287e4562d84ab7c79c58ae30780630f976de
      > > Reviewed-on: https://chromium-review.googlesource.com/1151199
      > > Commit-Queue: Simon Zünd <szuend@google.com>
      > > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > > Reviewed-by: Camillo Bruni <cbruni@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#55003}
      > 
      > Bug: v8:7382, v8:7624
      > Change-Id: Ic7a3230f3708177774b0760f08b7659d83ec5505
      > Reviewed-on: https://chromium-review.googlesource.com/1184901
      > Commit-Queue: Simon Zünd <szuend@google.com>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#55325}
      
      TBR=jgruber@chromium.org,szuend@google.com
      
      Change-Id: Ie7e2af57a6480aa0504ba21ec98ee825d7ac74fe
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:7382, v8:7624
      Reviewed-on: https://chromium-review.googlesource.com/1186601Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
      Commit-Queue: Maya Lekova <mslekova@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55355}
      8e43b9c0
    • Simon Zünd's avatar
      Reland "[array] Move Array.p.sort to Torque and use TimSort instead of QuickSort" · 9e48a24f
      Simon Zünd authored
      The CL was reverted because it broke some tests in ChromeOS.
      
      > [array] Move Array.p.sort to Torque and use TimSort instead of QuickSort
      >
      > This CL changes the sorting algorithm used in Array.p.sort from
      > QuickSort to TimSort (implemented in Torque).
      >
      > Detailed performance results can be found here: https://goo.gl/4E733J
      >
      > To save on code space, fast-paths are implemented as sets of
      > function pointers instead of specializing generics.
      >
      > R=cbruni@chromium.org, jgruber@chromium.org
      >
      > Bug: v8:7382, v8:7624
      > Change-Id: I7cd4287e4562d84ab7c79c58ae30780630f976de
      > Reviewed-on: https://chromium-review.googlesource.com/1151199
      > Commit-Queue: Simon Zünd <szuend@google.com>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Camillo Bruni <cbruni@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#55003}
      
      Bug: v8:7382, v8:7624
      Change-Id: Ic7a3230f3708177774b0760f08b7659d83ec5505
      Reviewed-on: https://chromium-review.googlesource.com/1184901
      Commit-Queue: Simon Zünd <szuend@google.com>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55325}
      9e48a24f
  28. 21 Aug, 2018 1 commit