1. 05 Aug, 2020 1 commit
    • Jakob Gruber's avatar
      [nci] Replace CompilationTarget with a new Code::Kind value · c51041f4
      Jakob Gruber authored
      With the new Turbofan variants (NCI and Turboprop), we need a way to
      distinguish between them both during and after compilation. We
      initially introduced CompilationTarget to track the variant during
      compilation, but decided to reuse the code kind as the canonical spot to
      store this information instead.
      
      Why? Because it is an established mechanism, already available in most
      of the necessary spots (inside the pipeline, on Code objects, in
      profiling traces).
      
      This CL removes CompilationTarget and adds a new
      NATIVE_CONTEXT_INDEPENDENT kind, plus helper functions to determine
      various things about a given code kind (e.g.: does this code kind
      deopt?).
      
      As a (very large) drive-by, refactor both Code::Kind and
      AbstractCode::Kind into a new CodeKind enum class.
      
      Bug: v8:8888
      Change-Id: Ie858b9a53311b0731630be35cf5cd108dee95b39
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2336793
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarDominik Inführ <dinfuehr@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69244}
      c51041f4
  2. 12 Jul, 2019 1 commit
  3. 28 May, 2019 1 commit
  4. 27 May, 2019 1 commit
  5. 24 May, 2019 1 commit
  6. 23 May, 2019 2 commits
  7. 22 May, 2019 1 commit
  8. 21 May, 2019 1 commit
  9. 07 May, 2019 1 commit
  10. 30 Apr, 2019 1 commit
  11. 29 Apr, 2019 1 commit
  12. 17 Jan, 2019 1 commit
  13. 26 Dec, 2018 1 commit
  14. 17 Dec, 2018 1 commit
  15. 16 Nov, 2018 1 commit
    • Clemens Hammacher's avatar
      [iwyu] Ensure that macro assembler includes happen correctly · 1952f928
      Clemens Hammacher authored
      The platform specific macro assembler headers can not be included
      directly. They require symbols declared in macro-assembler.h.
      We also cannot include macro-assembler.h from the platform specific
      headers, because that would form a cycle, and the include in
      macro-assembler.h would be skipped, which then also fails.
      
      This CL documents and enforces this unfortunate situation.
      This helps with further iwyu cleanups.
      
      Note that current code which includes the platform specific headers
      only works because we transitively included macro-assembler.h already
      before.
      
      R=mstarzinger@chromium.org
      
      Bug: v8:8238, v8:7490
      Change-Id: I2dc65ad950400941406e1f2f8969d0d15f524bf8
      Reviewed-on: https://chromium-review.googlesource.com/c/1340240
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#57578}
      1952f928
  16. 20 Sep, 2018 1 commit
  17. 07 Aug, 2018 1 commit
  18. 12 Jul, 2018 1 commit
    • Leszek Swirski's avatar
      [cleanup] Remove Isolate parameter from object print · 13b899a5
      Leszek Swirski authored
      With ReadOnlyRoots and GetIsolate on JSReceiver, we can remove almost
      every isolate parameter from <Object>::Print. The remaining ones, like
      Map, are special-caseable for read-only maps, and as a result we can
      remove isolate parameters from <Object>::Print entirely.
      
      This patch also opportunistically cleans up a few places where isolates
      were only needed for Object::Print, such as TransitionAccessors and
      DescriptorArrays.
      
      TBR=yangguo@chromium.org,mstarzinger@chromium.org
      
      Bug: v8:7786
      Change-Id: Id44bd53b9893e679eea5f37b9548257595a1bfd9
      Reviewed-on: https://chromium-review.googlesource.com/1133385Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarDan Elphick <delphick@chromium.org>
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54401}
      13b899a5
  19. 29 Jun, 2018 1 commit
    • Sreten Kovacevic's avatar
      [mips] Port: `[explicit isolates] Pass Isolate to Object::Print` · cbd5e30d
      Sreten Kovacevic authored
      Commit edec05ea
      
      Usage of Print function was not consistent with it's signature,
      which caused failures in compilation.
      
      Original commit message:
      
      `All Object::Print functions now take an Isolate* parameter. Various
      XX::XXPrint functions now take an Isolate if it's needed rather than
      calling GetIsolate(). Such method use DECL_PRINTER_WITH_ISOLATE rather
      than DECL_PRINTER.
      
      The _v8_internal_Print_ function (intended for use in gdb) now uses
      Isolate::Current() to get hold of an Isolate.
      
      Reduces the GetIsolate and GetHeap count by 9 and 5 respectively.
      
      Also removes unneeded gdb/lldb macros (along with their support
      functions), jfv, jfm, jda and jta, since job does the same thing.`
      
      Cr-Original-Commit-Position: refs/heads/master@{#54029}
      Change-Id: I5d4eb974340159ae91a50c1c2272ab195fc514ea
      Reviewed-on: https://chromium-review.googlesource.com/1116965Reviewed-by: 's avatarDan Elphick <delphick@chromium.org>
      Reviewed-by: 's avatarIvica Bogosavljevic <ivica.bogosavljevic@mips.com>
      Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com>
      Cr-Commit-Position: refs/heads/master@{#54103}
      cbd5e30d
  20. 21 Jun, 2018 1 commit
  21. 14 Jun, 2018 2 commits
    • Clemens Hammacher's avatar
      Reland "Introduce StdoutStream which prints to Android log or stdout" · 8e2e1257
      Clemens Hammacher authored
      This is a reland of 0909dbe3.
      Added missing V8_EXPORT_PRIVATE to AndroidLogStream.
      
      TBR=mstarzinger@chromium.org
      
      Original change's description:
      > Introduce StdoutStream which prints to Android log or stdout
      >
      > The often used construct {OFStream(stdout)} does not work on Android.
      > This CL introduces an {StdoutStream} which behaves exactly like
      > {OFStream(stdout)} on non-android platforms, and redirects to the
      > Android log on appropriate systems and configurations.
      >
      > R=mstarzinger@chromium.org
      >
      > Bug: v8:7820
      > Change-Id: Ia682fdf6d064e37c605c19b032f5a10b96ac825b
      > Reviewed-on: https://chromium-review.googlesource.com/1088911
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#53692}
      
      Bug: v8:7820
      Change-Id: I8164bad78a401dbe4246c9ffcacd050fe511ed58
      Reviewed-on: https://chromium-review.googlesource.com/1100636Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53733}
      8e2e1257
    • Michael Achenbach's avatar
      Revert "Introduce StdoutStream which prints to Android log or stdout" · d2e1620c
      Michael Achenbach authored
      This reverts commit 0909dbe3.
      
      Reason for revert: Blocks roll:
      https://chromium-review.googlesource.com/c/chromium/src/+/1099143
      
      Original change's description:
      > Introduce StdoutStream which prints to Android log or stdout
      > 
      > The often used construct {OFStream(stdout)} does not work on Android.
      > This CL introduces an {StdoutStream} which behaves exactly like
      > {OFStream(stdout)} on non-android platforms, and redirects to the
      > Android log on appropriate systems and configurations.
      > 
      > R=​mstarzinger@chromium.org
      > 
      > Bug: v8:7820
      > Change-Id: Ia682fdf6d064e37c605c19b032f5a10b96ac825b
      > Reviewed-on: https://chromium-review.googlesource.com/1088911
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#53692}
      
      TBR=mstarzinger@chromium.org,jarin@chromium.org,jgruber@chromium.org,clemensh@chromium.org,bmeurer@chromium.org
      
      Change-Id: Iadadd9a0df10dca0fad647138a83db50148e864d
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:7820
      Reviewed-on: https://chromium-review.googlesource.com/1100635Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53725}
      d2e1620c
  22. 13 Jun, 2018 1 commit
  23. 16 Mar, 2018 1 commit
  24. 09 Jan, 2018 1 commit
  25. 11 Dec, 2017 1 commit
  26. 02 Dec, 2017 1 commit
    • Mathias Bynens's avatar
      Normalize casing of hexadecimal digits · 822be9b2
      Mathias Bynens authored
      This patch normalizes the casing of hexadecimal digits in escape
      sequences of the form `\xNN` and integer literals of the form
      `0xNNNN`.
      
      Previously, the V8 code base used an inconsistent mixture of uppercase
      and lowercase.
      
      Google’s C++ style guide uses uppercase in its examples:
      https://google.github.io/styleguide/cppguide.html#Non-ASCII_Characters
      
      Moreover, uppercase letters more clearly stand out from the lowercase
      `x` (or `u`) characters at the start, as well as lowercase letters
      elsewhere in strings.
      
      BUG=v8:7109
      TBR=marja@chromium.org,titzer@chromium.org,mtrofin@chromium.org,mstarzinger@chromium.org,rossberg@chromium.org,yangguo@chromium.org,mlippautz@chromium.org
      NOPRESUBMIT=true
      
      Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: I790e21c25d96ad5d95c8229724eb45d2aa9e22d6
      Reviewed-on: https://chromium-review.googlesource.com/804294
      Commit-Queue: Mathias Bynens <mathias@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49810}
      822be9b2
  27. 13 Oct, 2017 1 commit
  28. 29 Sep, 2017 1 commit
  29. 13 Sep, 2017 1 commit
  30. 01 Sep, 2017 1 commit
  31. 11 Aug, 2017 1 commit
  32. 28 Jul, 2017 1 commit
    • sreten.kovacevic's avatar
      MIPS[64]: Port `[arm] Introduce UseScratchRegisterScope` · 3eb4de34
      sreten.kovacevic authored
      Add UseScratchRegisterScope for MIPS and use it instead of using at register directly.
      
      Original commit message:
      `Introduce a stripped down version of UseScratchRegisterScope for ARM and use it
      inside the assembler and macro-assembler. At the exception of the Call
      instructions, we now use this scope instead of using the ip register
      directly. This is inspired from how the ARM64 backend works.
      
      In general, the benefit of doing this is we can catch cases where ip is being
      used both by the caller and by the assembler. But more specifically, TurboFan
      reserves r9 as an extra scratch register because ip can already be used by the
      assembler. With this utility, we can isolate the cases in the code generator
      which need an extra register and potentially fix them, allowing us to give r9
      back to the register allocator.
      
      This patch uncovered places in the assembler where we were using ip
      unconditionally when we could have re-used the destination register instead.`
      
      Bug: 
      Change-Id: I1a35c1661579882801605337abfc95f75b47f052
      Reviewed-on: https://chromium-review.googlesource.com/574923
      Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@imgtec.com>
      Reviewed-by: 's avatarIvica Bogosavljevic <ivica.bogosavljevic@imgtec.com>
      Cr-Commit-Position: refs/heads/master@{#46963}
      3eb4de34
  33. 31 May, 2017 1 commit
    • neis's avatar
      [compiler] Delay allocation of code-embedded heap numbers. · 659e8f7b
      neis authored
      Instead of allocating and embedding certain heap numbers into the code
      during code assembly, emit dummies but record the allocation requests.
      Later then, in Assembler::GetCode, allocate the heap numbers and patch
      the code by replacing the dummies with the actual objects. The
      RelocInfos for the embedded objects are already recorded correctly when
      emitting the dummies.
      
      R=jarin@chromium.org
      BUG=v8:6048
      
      Review-Url: https://codereview.chromium.org/2900683002
      Cr-Commit-Position: refs/heads/master@{#45635}
      659e8f7b
  34. 20 Apr, 2017 1 commit
  35. 07 Feb, 2017 1 commit
  36. 08 Dec, 2016 1 commit
    • Ilija.Pavlovic's avatar
      MIPS[64]: Fix `MIPS: Improve Float(32|64)(Max|Min)`. · e8f5adbe
      Ilija.Pavlovic authored
      Fix 7a6f294f.
      
      The first correction enables correct execution DoMathMinMax when two
      input registers are the same register.
      The second correction adds NOP instructions after branch instructions
      in tests macro_float_minmaxf(32|64).
      
      TEST=cctest/test-macro-assembler-mips[64]/macro_float_minmax_f32
           cctest/test-macro-assembler-mips[64]/macro_float_minmax_f64
           mjsunit/regress/math-min
      BUG=
      
      Review-Url: https://codereview.chromium.org/2556793003
      Cr-Commit-Position: refs/heads/master@{#41596}
      e8f5adbe
  37. 07 Dec, 2016 1 commit
  38. 06 Dec, 2016 1 commit