1. 30 Jul, 2019 1 commit
  2. 28 May, 2019 1 commit
  3. 24 May, 2019 1 commit
  4. 23 May, 2019 1 commit
  5. 21 May, 2019 1 commit
  6. 29 Apr, 2019 1 commit
  7. 17 Jan, 2019 1 commit
  8. 12 Oct, 2018 1 commit
  9. 09 Apr, 2018 1 commit
  10. 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
  11. 08 Jan, 2018 1 commit
    • Clemens Hammacher's avatar
      [simulator] Make Call variadic · a3baa353
      Clemens Hammacher authored
      In order to remove the CALL_GENERATED_CODE macro, it helps a lot to
      unify the interfaces of the simulators and make the Call method variadic
      in the number of arguments.
      This CL does that for each simulator. A follow-up CL will then
      completely remove the CALL_GENERATED_CODE macro and replace uses with
      the (new) GeneratedCode wrapper.
      
      R=mstarzinger@chromium.org
      
      Bug: v8:7182
      Change-Id: I1f81445ec2faba30f0bd233b022ae1f0fae4e96f
      Reviewed-on: https://chromium-review.googlesource.com/850873
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#50413}
      a3baa353
  12. 02 Nov, 2017 3 commits
    • Michael Achenbach's avatar
      Revert "Revert "[cctest] Clarify that tests for sync instructions are simulator specific"" · d9c5e5d0
      Michael Achenbach authored
      This reverts commit 1feadfe8.
      
      Reason for revert: Reland as bot stayed red after revert.
      
      Original change's description:
      > Revert "[cctest] Clarify that tests for sync instructions are simulator specific"
      > 
      > This reverts commit 4013518f.
      > 
      > Reason for revert:
      > https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20gc%20stress
      > 
      > Original change's description:
      > > [cctest] Clarify that tests for sync instructions are simulator specific
      > > 
      > > Some tests were recently added to test-simulator-arm.cc, however this file is
      > > meant for tests that are specific to the simulator and therefore are not written
      > > to work on hardware. While this sounds surprising, the reason is that our simulation
      > > of synchronisation instructions is more conservative than on hardware.
      > > 
      > > To make this more clear, this patch renames the "test-simulator-arm{,64}.cc"
      > > files to "test-sync-primitives-arm{,64}.cc", and moves the vneg and vabs tests
      > > into "test-assembler-arm.cc" which is were tests that are garanteed to work in
      > > either native or simulated environments live.
      > > 
      > > Finally, take the opportunity to share a little bit of code.
      > > 
      > > Bug: v8:6963
      > > Change-Id: Ifb85d3671c823b9bba73d09f419536b089a4e87c
      > > Reviewed-on: https://chromium-review.googlesource.com/749387
      > > Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
      > > Commit-Queue: Pierre Langlois <pierre.langlois@arm.com>
      > > Cr-Commit-Position: refs/heads/master@{#49073}
      > 
      > TBR=clemensh@chromium.org,pierre.langlois@arm.com,bmeurer@chromium.org
      > 
      > Change-Id: I1bfb4e9c7c18b716f417a84b18a14cb2e1fa3a7a
      > No-Presubmit: true
      > No-Tree-Checks: true
      > No-Try: true
      > Bug: v8:6963
      > Reviewed-on: https://chromium-review.googlesource.com/750624
      > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
      > Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#49074}
      
      TBR=machenbach@chromium.org,clemensh@chromium.org,pierre.langlois@arm.com,bmeurer@chromium.org
      
      Change-Id: I5af7bd3678758130534730a2f6f0b651b64c6956
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:6963
      Reviewed-on: https://chromium-review.googlesource.com/750903Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49075}
      d9c5e5d0
    • Michael Achenbach's avatar
      Revert "[cctest] Clarify that tests for sync instructions are simulator specific" · 1feadfe8
      Michael Achenbach authored
      This reverts commit 4013518f.
      
      Reason for revert:
      https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20gc%20stress
      
      Original change's description:
      > [cctest] Clarify that tests for sync instructions are simulator specific
      > 
      > Some tests were recently added to test-simulator-arm.cc, however this file is
      > meant for tests that are specific to the simulator and therefore are not written
      > to work on hardware. While this sounds surprising, the reason is that our simulation
      > of synchronisation instructions is more conservative than on hardware.
      > 
      > To make this more clear, this patch renames the "test-simulator-arm{,64}.cc"
      > files to "test-sync-primitives-arm{,64}.cc", and moves the vneg and vabs tests
      > into "test-assembler-arm.cc" which is were tests that are garanteed to work in
      > either native or simulated environments live.
      > 
      > Finally, take the opportunity to share a little bit of code.
      > 
      > Bug: v8:6963
      > Change-Id: Ifb85d3671c823b9bba73d09f419536b089a4e87c
      > Reviewed-on: https://chromium-review.googlesource.com/749387
      > Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
      > Commit-Queue: Pierre Langlois <pierre.langlois@arm.com>
      > Cr-Commit-Position: refs/heads/master@{#49073}
      
      TBR=clemensh@chromium.org,pierre.langlois@arm.com,bmeurer@chromium.org
      
      Change-Id: I1bfb4e9c7c18b716f417a84b18a14cb2e1fa3a7a
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:6963
      Reviewed-on: https://chromium-review.googlesource.com/750624Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49074}
      1feadfe8
    • Pierre Langlois's avatar
      [cctest] Clarify that tests for sync instructions are simulator specific · 4013518f
      Pierre Langlois authored
      Some tests were recently added to test-simulator-arm.cc, however this file is
      meant for tests that are specific to the simulator and therefore are not written
      to work on hardware. While this sounds surprising, the reason is that our simulation
      of synchronisation instructions is more conservative than on hardware.
      
      To make this more clear, this patch renames the "test-simulator-arm{,64}.cc"
      files to "test-sync-primitives-arm{,64}.cc", and moves the vneg and vabs tests
      into "test-assembler-arm.cc" which is were tests that are garanteed to work in
      either native or simulated environments live.
      
      Finally, take the opportunity to share a little bit of code.
      
      Bug: v8:6963
      Change-Id: Ifb85d3671c823b9bba73d09f419536b089a4e87c
      Reviewed-on: https://chromium-review.googlesource.com/749387Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Commit-Queue: Pierre Langlois <pierre.langlois@arm.com>
      Cr-Commit-Position: refs/heads/master@{#49073}
      4013518f
  13. 13 Oct, 2017 1 commit
  14. 06 Oct, 2017 1 commit
  15. 29 Sep, 2017 1 commit
  16. 01 Sep, 2017 1 commit
  17. 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
  18. 15 Mar, 2017 1 commit
  19. 28 Feb, 2017 1 commit
  20. 18 Jan, 2017 1 commit
    • binji's avatar
      Implement ldrex/strex instructions in ARM simulator · 66ae5f7d
      binji authored
      This CL implements ldrex, ldrexb, ldrexh, strex, strexb, and strexh in the
      Simulator. These instructions provide "exclusive" access, which provides mutual
      exclusion for concurrent threads of execution.
      
      The ARM specification gives some leeway to implementors, but essentially
      describes each processor as having Local Monitor and Global Monitor. The Local
      Monitor is used to check the exclusivity state without having to synchronize
      with other processors. The Global Monitor is shared between processors. We
      model both to make it easier to match behavior with the spec.
      
      When running with multiple OS threads, each thread has its own isolate, and
      each isolate has its own Simulator. The Local Monitor is stored directly on the
      Simulator, and the Global Monitor is stored as a lazy singleton. The Global
      Monitor maintains a linked-list of all Simulators.
      
      All loads/stores (even non-exclusive) are guarded by the Global Monitor's mutex.
      
      BUG=v8:4614
      
      Review-Url: https://codereview.chromium.org/2006183004
      Cr-Commit-Position: refs/heads/master@{#42481}
      66ae5f7d