1. 26 Jun, 2018 5 commits
    • Georg Neis's avatar
      Revert "Reland "Introduce MutableHeapNumber class."" · 722dfb70
      Georg Neis authored
      This reverts commit f0bcbc90.
      
      Reason for revert: Still failing bots.
      
      Original change's description:
      > Reland "Introduce MutableHeapNumber class."
      > 
      > This is a reland of 40ac6b18, which
      > was incorrect due to a bad merge.
      > 
      > Original change's description:
      > > Introduce MutableHeapNumber class.
      > >
      > > V8 knows heap numbers and mutable heap numbers. They have
      > > difference instance types, but in C++ code we've used the
      > > same class for both (HeapNumber). Confusingly, however,
      > > IsHeapNumber would return false for mutable heap numbers,
      > > while HeapNumber::cast would succeed.
      > >
      > > This CL adds a separate class MutableHeapNumber and
      > > eliminates the confusing behavior.
      > >
      > > TBR=bmeurer@chromium.org
      > >
      > > Change-Id: Id894d177c7fe8cc3f451be80c273b50daee91378
      > > Reviewed-on: https://chromium-review.googlesource.com/1113544
      > > Commit-Queue: Georg Neis <neis@chromium.org>
      > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#54012}
      > 
      > TBR=bmeurer@chromium.org
      > TBR=ulanchromium.org
      > 
      > Change-Id: I3af1014c949821dfac0754a3e48c65ce1bad1ad1
      > Reviewed-on: https://chromium-review.googlesource.com/1114539
      > Reviewed-by: Georg Neis <neis@chromium.org>
      > Commit-Queue: Georg Neis <neis@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#54022}
      
      TBR=ulan@chromium.org,jarin@chromium.org,neis@chromium.org,bmeurer@chromium.org
      
      Change-Id: I99c226e95dfb0b913903cc83193f6e51de8c1b47
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/1114099Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Commit-Queue: Georg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54024}
      722dfb70
    • Sigurd Schneider's avatar
      [turbofan] Support kRootRegisterBias on all platforms · ba39d635
      Sigurd Schneider authored
      We had a kRootRegisterBias on x64 before. This CL ports the feature to
      all other platforms as well. The root register bias is helpful to adjust
      the value of the root register, which allows to better utilize signed
      immediate offset constants in load instructions.
      
      We currently use a separate add instruction to add kRootRegisterBias
      in the code that initializes the root register. This could be improved
      by adding a custom relocation mode ensuring that instead of the root
      address, the root address plus the bias is inserted (and in this way
      the add instruction can be omitted).
      
      Bug: v8:6666
      Change-Id: I55cf02ab85d11e3c6d0d83a8f7905dbf924890f1
      Reviewed-on: https://chromium-review.googlesource.com/1113539
      Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54023}
      ba39d635
    • Georg Neis's avatar
      Reland "Introduce MutableHeapNumber class." · f0bcbc90
      Georg Neis authored
      This is a reland of 40ac6b18, which
      was incorrect due to a bad merge.
      
      Original change's description:
      > Introduce MutableHeapNumber class.
      >
      > V8 knows heap numbers and mutable heap numbers. They have
      > difference instance types, but in C++ code we've used the
      > same class for both (HeapNumber). Confusingly, however,
      > IsHeapNumber would return false for mutable heap numbers,
      > while HeapNumber::cast would succeed.
      >
      > This CL adds a separate class MutableHeapNumber and
      > eliminates the confusing behavior.
      >
      > TBR=bmeurer@chromium.org
      >
      > Change-Id: Id894d177c7fe8cc3f451be80c273b50daee91378
      > Reviewed-on: https://chromium-review.googlesource.com/1113544
      > Commit-Queue: Georg Neis <neis@chromium.org>
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#54012}
      
      TBR=bmeurer@chromium.org
      TBR=ulanchromium.org
      
      Change-Id: I3af1014c949821dfac0754a3e48c65ce1bad1ad1
      Reviewed-on: https://chromium-review.googlesource.com/1114539Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Commit-Queue: Georg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54022}
      f0bcbc90
    • Yang Guo's avatar
      Revert "Introduce MutableHeapNumber class." · 983456f5
      Yang Guo authored
      This reverts commit 40ac6b18.
      
      Reason for revert: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20debug/21009
      
      Original change's description:
      > Introduce MutableHeapNumber class.
      > 
      > V8 knows heap numbers and mutable heap numbers. They have
      > difference instance types, but in C++ code we've used the
      > same class for both (HeapNumber). Confusingly, however,
      > IsHeapNumber would return false for mutable heap numbers,
      > while HeapNumber::cast would succeed.
      > 
      > This CL adds a separate class MutableHeapNumber and
      > eliminates the confusing behavior.
      > 
      > TBR=bmeurer@chromium.org
      > 
      > Change-Id: Id894d177c7fe8cc3f451be80c273b50daee91378
      > Reviewed-on: https://chromium-review.googlesource.com/1113544
      > Commit-Queue: Georg Neis <neis@chromium.org>
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#54012}
      
      TBR=ulan@chromium.org,jarin@chromium.org,neis@chromium.org,bmeurer@chromium.org
      
      Change-Id: I358a822f20b9110def968e69463a753a2a32c68c
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/1114538Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Yang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54013}
      983456f5
    • Georg Neis's avatar
      Introduce MutableHeapNumber class. · 40ac6b18
      Georg Neis authored
      V8 knows heap numbers and mutable heap numbers. They have
      difference instance types, but in C++ code we've used the
      same class for both (HeapNumber). Confusingly, however,
      IsHeapNumber would return false for mutable heap numbers,
      while HeapNumber::cast would succeed.
      
      This CL adds a separate class MutableHeapNumber and
      eliminates the confusing behavior.
      
      TBR=bmeurer@chromium.org
      
      Change-Id: Id894d177c7fe8cc3f451be80c273b50daee91378
      Reviewed-on: https://chromium-review.googlesource.com/1113544
      Commit-Queue: Georg Neis <neis@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54012}
      40ac6b18
  2. 22 Jun, 2018 3 commits
  3. 21 Jun, 2018 5 commits
  4. 20 Jun, 2018 2 commits
    • Ben L. Titzer's avatar
      [asm] Rework Assembler::IsolateData into Assembler::Options · 4252d53f
      Ben L. Titzer authored
      This CL attempts to simplify the Assembler's dependency on the
      isolate, in particular on a global "serializer_enabled" mode contained
      therein. The "serializer_enabled" condition enabled and disabled
      a number of things in both the assemblers and macro assemblers. To
      make these dependencies explicit, the Assembler::IsolateData is refactored
      to be a proper Assembler::Options struct that controls specific assembler
      behaviors, with default settings easily computable from the isolate.
      
      This also helps make the contract for compiling WASM code more explicit
      (since WASM code needs to have reloc info recorded for external references)
      we can explicitly enable this recording without trying to "trick" the
      assembler using "serializer_enabled".
      
      R=jgruber@chromium.org
      CC=mstarzinger@chromium.org, herhut@chromium.org
      
      Change-Id: I7a8ba49df7b75b292d73ec2aa6e507c27a3d99c8
      Reviewed-on: https://chromium-review.googlesource.com/1105982
      Commit-Queue: Ben Titzer <titzer@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53890}
      4252d53f
    • Georgia Kouveli's avatar
      [arm64] Remove deopt tables. · cdb2ef01
      Georgia Kouveli authored
      We can instead pass the deopt id in a register, where before we were passing the
      deopt entry address. This removes the need for the deopt tables altogether,
      saving 192kB.
      
      Change-Id: I479d4de1a0245de328720b6b03a1955c8c63f696
      Reviewed-on: https://chromium-review.googlesource.com/1076472Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com>
      Cr-Commit-Position: refs/heads/master@{#53863}
      cdb2ef01
  5. 19 Jun, 2018 3 commits
  6. 18 Jun, 2018 1 commit
  7. 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
  8. 13 Jun, 2018 5 commits
  9. 12 Jun, 2018 2 commits
  10. 11 Jun, 2018 1 commit
  11. 08 Jun, 2018 1 commit
  12. 07 Jun, 2018 3 commits
  13. 05 Jun, 2018 2 commits
  14. 04 Jun, 2018 2 commits
  15. 01 Jun, 2018 1 commit
  16. 31 May, 2018 1 commit
  17. 30 May, 2018 1 commit
    • Leszek Swirski's avatar
      [sfi] Compress function arg counts to 16 bit · 53d4dfc3
      Leszek Swirski authored
      Compress the parameter count (and function length) stored in
      SharedFunctionInfo to a uint16_t. This limits us to 2^16 - 1 parameters
      per function, minus one for the "don't adapt arguments" sentinel value,
      which is one fewer than Code::kMaxArguments was already. Anyway, 65534
      arguments should be enough for anyone!
      
      This drops SFI size by 4 bytes.
      
      Bug: chromium:818642
      Change-Id: I126bfb24453dcdc5087a104d3a12cf195a56fa9f
      Reviewed-on: https://chromium-review.googlesource.com/1076627
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53447}
      53d4dfc3