1. 30 Nov, 2017 1 commit
  2. 29 Nov, 2017 2 commits
  3. 28 Nov, 2017 6 commits
    • Mircea Trofin's avatar
      Revert "Revert "[wasm] JIT using WasmCodeManager"" · b03b1bd9
      Mircea Trofin authored
      This reverts commit b301203e.
      
      Reason for revert: Fixed issues on arm.
      
      Original change's description:
      > Revert "[wasm] JIT using WasmCodeManager"
      > 
      > This reverts commit d4c8393c.
      > 
      > Reason for revert: Breaks ARM hardware:
      > https://build.chromium.org/p/client.v8.ports/builders/V8%20Arm%20-%20debug/builds/5268
      > 
      > Original change's description:
      > > [wasm] JIT using WasmCodeManager
      > > 
      > > This is the first step towards wasm code sharing. This CL moves wasm
      > > code generation outside the JavaScript GC heap using the previously -
      > > introduced WasmCodeManager (all this, behind the --wasm-jit-to-native
      > > flag).
      > > 
      > > See design document: go/wasm-on-native-heap-stage-1
      > > 
      > > This CL doesn't change other wasm architectural invariants. We still
      > > have per-Isolate wasm code generation, and per-wasm module instance
      > > code specialization.
      > > 
      > > Bug:v8:6876
      > > 
      > > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > > Change-Id: I1e08cecad75f93fb081545c31228a4568be276d3
      > > Reviewed-on: https://chromium-review.googlesource.com/674086
      > > Reviewed-by: Ben Titzer <titzer@chromium.org>
      > > Reviewed-by: Eric Holk <eholk@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#49689}
      > 
      > TBR=bradnelson@chromium.org,titzer@chromium.org,mtrofin@chromium.org,eholk@chromium.org
      > 
      > Change-Id: I89af1ea5decd841bc12cd2ceaf74d32bc4433885
      > No-Presubmit: true
      > No-Tree-Checks: true
      > No-Try: true
      > Bug: v8:6876
      > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > Reviewed-on: https://chromium-review.googlesource.com/794690
      > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
      > Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#49691}
      
      TBR=bradnelson@chromium.org,machenbach@chromium.org,titzer@chromium.org,mtrofin@chromium.org,eholk@chromium.org
      
      Change-Id: I1b07638d1bb2ba0664305b4b2dcfc1342dc8444f
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:6876
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/794434
      Commit-Queue: Mircea Trofin <mtrofin@chromium.org>
      Reviewed-by: 's avatarMircea Trofin <mtrofin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49692}
      b03b1bd9
    • Michael Achenbach's avatar
      Revert "[wasm] JIT using WasmCodeManager" · b301203e
      Michael Achenbach authored
      This reverts commit d4c8393c.
      
      Reason for revert: Breaks ARM hardware:
      https://build.chromium.org/p/client.v8.ports/builders/V8%20Arm%20-%20debug/builds/5268
      
      Original change's description:
      > [wasm] JIT using WasmCodeManager
      > 
      > This is the first step towards wasm code sharing. This CL moves wasm
      > code generation outside the JavaScript GC heap using the previously -
      > introduced WasmCodeManager (all this, behind the --wasm-jit-to-native
      > flag).
      > 
      > See design document: go/wasm-on-native-heap-stage-1
      > 
      > This CL doesn't change other wasm architectural invariants. We still
      > have per-Isolate wasm code generation, and per-wasm module instance
      > code specialization.
      > 
      > Bug:v8:6876
      > 
      > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > Change-Id: I1e08cecad75f93fb081545c31228a4568be276d3
      > Reviewed-on: https://chromium-review.googlesource.com/674086
      > Reviewed-by: Ben Titzer <titzer@chromium.org>
      > Reviewed-by: Eric Holk <eholk@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#49689}
      
      TBR=bradnelson@chromium.org,titzer@chromium.org,mtrofin@chromium.org,eholk@chromium.org
      
      Change-Id: I89af1ea5decd841bc12cd2ceaf74d32bc4433885
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:6876
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/794690Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49691}
      b301203e
    • Mircea Trofin's avatar
      [wasm] JIT using WasmCodeManager · d4c8393c
      Mircea Trofin authored
      This is the first step towards wasm code sharing. This CL moves wasm
      code generation outside the JavaScript GC heap using the previously -
      introduced WasmCodeManager (all this, behind the --wasm-jit-to-native
      flag).
      
      See design document: go/wasm-on-native-heap-stage-1
      
      This CL doesn't change other wasm architectural invariants. We still
      have per-Isolate wasm code generation, and per-wasm module instance
      code specialization.
      
      Bug:v8:6876
      
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: I1e08cecad75f93fb081545c31228a4568be276d3
      Reviewed-on: https://chromium-review.googlesource.com/674086Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
      Reviewed-by: 's avatarEric Holk <eholk@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49689}
      d4c8393c
    • Jakob Kummerow's avatar
      [bigint] Fix asIntN/asUintN for n == kMaxLengthBits · 6dee1ac1
      Jakob Kummerow authored
      And also ensure that it doesn't allocate when that's avoidable.
      
      Bug: v8:6791
      Change-Id: Ied2d2c9c5718aed9839f17739d743353cbadee88
      Reviewed-on: https://chromium-review.googlesource.com/786170Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49683}
      6dee1ac1
    • jgruber's avatar
      [objects] Clarify 32-bit offsets in 64-bit fields · 5d3824e2
      jgruber authored
      These fields relied on the assumption that 64-bit big-endian
      architectures had sizeof(int) == 4. Any architecture violating this
      assumption would result in an OOB access.
      
      Bug: 
      Change-Id: I682ecb6a2da2cf84e8b24f1c1e608d7fc23f5bdc
      Reviewed-on: https://chromium-review.googlesource.com/793431Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49673}
      5d3824e2
    • Igor Sheludko's avatar
      [runtime] Properly deal with prototype setup mode during class literal instantiation. · 888acb2f
      Igor Sheludko authored
      1) Make sure we don't enable prototype setup mode for parent class and its prototype
      objects.
      2) Make sure we create builtins and their prototypes with completed setup mode.
      3) Drive-by-fix: setup typed array classes in bootstrapper.cc instead of typedarray.js,
      and drop %FunctionSetPrototype().
      
      Bug: v8:7115, v8:5902
      Change-Id: I58ac091d85647abc3307bd47baf48e378e3695c5
      Reviewed-on: https://chromium-review.googlesource.com/790992
      Commit-Queue: Igor Sheludko <ishell@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49655}
      888acb2f
  4. 24 Nov, 2017 1 commit
  5. 23 Nov, 2017 1 commit
  6. 22 Nov, 2017 3 commits
  7. 21 Nov, 2017 3 commits
  8. 20 Nov, 2017 3 commits
    • Peter Marshall's avatar
      reland: [heap] Concurrently free ArrayBuffer allocations. · d8981833
      Peter Marshall authored
      Free ArrayBuffer backing stores on a background thread, rather than
      blocking the main thread after processing. Could potentially cause
      contention with the array buffer allocator once JS execution resumes.
      
      The new ArrayBufferCollector class tracks these dead allocations.
      
      Later, the processing of array buffers can happen in parallel.
      
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng;master.tryserver.v8:v8_linux64_tsan_rel;master.tryserver.v8:v8_linux64_tsan_concurrent_marking_rel_ng;master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel
      
      Bug: v8:6992
      Change-Id: I2b74f008f79521414374f607ed510f66508af160
      Reviewed-on: https://chromium-review.googlesource.com/779182
      Commit-Queue: Peter Marshall <petermarshall@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49505}
      d8981833
    • Peter Marshall's avatar
      Revert "[heap] Concurrently free ArrayBuffer allocations." · 3b31e5be
      Peter Marshall authored
      This reverts commit b6658ade.
      
      Reason for revert: Breaks TSAN :(
      
      Original change's description:
      > [heap] Concurrently free ArrayBuffer allocations.
      > 
      > Free ArrayBuffer backing stores on a background thread, rather than
      > blocking the main thread after processing. Could potentially cause
      > contention with the array buffer allocator once JS execution resumes.
      > 
      > The new ArrayBufferCollector class tracks these dead allocations.
      > 
      > Later, the processing of array buffers can happen in parallel.
      > 
      > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > 
      > Bug: v8:6992
      > Change-Id: I49ae4db12ed62d8400ba2bbafeda05a11479d904
      > Reviewed-on: https://chromium-review.googlesource.com/739829
      > Commit-Queue: Peter Marshall <petermarshall@chromium.org>
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Reviewed-by: Hannes Payer <hpayer@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#49485}
      
      TBR=hpayer@chromium.org,mlippautz@chromium.org,petermarshall@chromium.org
      
      Change-Id: If6743b83f871c0fd0d6e83a3083dce0eecd99021
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:6992
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/779159Reviewed-by: 's avatarPeter Marshall <petermarshall@chromium.org>
      Commit-Queue: Peter Marshall <petermarshall@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49488}
      3b31e5be
    • Peter Marshall's avatar
      [heap] Concurrently free ArrayBuffer allocations. · b6658ade
      Peter Marshall authored
      Free ArrayBuffer backing stores on a background thread, rather than
      blocking the main thread after processing. Could potentially cause
      contention with the array buffer allocator once JS execution resumes.
      
      The new ArrayBufferCollector class tracks these dead allocations.
      
      Later, the processing of array buffers can happen in parallel.
      
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      
      Bug: v8:6992
      Change-Id: I49ae4db12ed62d8400ba2bbafeda05a11479d904
      Reviewed-on: https://chromium-review.googlesource.com/739829
      Commit-Queue: Peter Marshall <petermarshall@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49485}
      b6658ade
  9. 19 Nov, 2017 1 commit
  10. 17 Nov, 2017 6 commits
  11. 16 Nov, 2017 2 commits
  12. 14 Nov, 2017 3 commits
  13. 13 Nov, 2017 1 commit
  14. 10 Nov, 2017 2 commits
  15. 09 Nov, 2017 1 commit
    • Igor Sheludko's avatar
      Snapshot: support rehashing of standalone descriptors. · 03f4c091
      Igor Sheludko authored
      This is necessary in order to support class literals boilerplates which will
      contain descriptor arrays not attached to maps.
      
      This CL introduces Heap::descriptor_array_map() which will be used only for
      descriptor arrays templates created as a part of class literal boilerplate.
      
      We don't use the new map for all descriptors for now because in order to handle
      chicken-egg problem in deserializer which can be solved in a clean and readable
      way only if introduce a DESCRIPTOR_ARRAY_TYPE instance type which we can't
      currently do because the InstanceType enum is already "full".
      
      Bug: v8:5799
      Change-Id: I732d236b0dda2c436ab3ce3ac5967f6c66162df3
      Reviewed-on: https://chromium-review.googlesource.com/758360
      Commit-Queue: Igor Sheludko <ishell@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49271}
      03f4c091
  16. 08 Nov, 2017 2 commits
  17. 07 Nov, 2017 2 commits