- 01 Jul, 2021 1 commit
-
-
John Xu authored
- Updated implementation of platform-starboard - Introducing stack_trace_starboard.cc - Adding Starboard implementation for sys-info, random and memory - Disabling some code in ostream. Bug: v8:10927 Change-Id: I4548a413449fc8e43c5d4ae485b3644c60c07830 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2952864 Commit-Queue: John Xu <johnx@google.com> Auto-Submit: John Xu <johnx@google.com> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#75495}
-
- 24 Jun, 2021 4 commits
-
-
Victor Gomes authored
- Disables FRIEND_TEST - Removes gtest_prod.h dependency Change-Id: I614f633749f3197989ac4a0d9d5faa6ec03ed59d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2982481Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/master@{#75372}
-
Dan Elphick authored
This is a reland of 9701d4a4 with a small fix for some code landed in between the dry-run and submission. Original change's description: > [base] Move most of src/numbers into base > > Moves all but conversions.*, hash-seed-inl.h and math-random.* into > base, in preparation for moving the parts of conversions that don't > access HeapObjects. > > Also moves uc16 and uc32 out of commons/globals.h into base/strings.h. > > Bug: v8:11917 > Change-Id: Ife359148bb0961a63833aff40d26331454b6afb6 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979595 > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> > Auto-Submit: Dan Elphick <delphick@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75354} Bug: v8:11917 Change-Id: Ie1ec9032fe56646a7c7303185cecc70fce5694ae Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2982607Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#75368}
-
Nico Hartmann authored
This reverts commit 9701d4a4. Reason for revert: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Mac64/40802/overview Original change's description: > [base] Move most of src/numbers into base > > Moves all but conversions.*, hash-seed-inl.h and math-random.* into > base, in preparation for moving the parts of conversions that don't > access HeapObjects. > > Also moves uc16 and uc32 out of commons/globals.h into base/strings.h. > > Bug: v8:11917 > Change-Id: Ife359148bb0961a63833aff40d26331454b6afb6 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979595 > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> > Auto-Submit: Dan Elphick <delphick@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75354} Bug: v8:11917 Change-Id: Iacf796c95256016fa74f0a910c5bb1a86baa425a No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2982605 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#75356}
-
Dan Elphick authored
Moves all but conversions.*, hash-seed-inl.h and math-random.* into base, in preparation for moving the parts of conversions that don't access HeapObjects. Also moves uc16 and uc32 out of commons/globals.h into base/strings.h. Bug: v8:11917 Change-Id: Ife359148bb0961a63833aff40d26331454b6afb6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979595Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Auto-Submit: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#75354}
-
- 23 Jun, 2021 2 commits
-
-
John Xu authored
These are the changes Cobalt currently has in V8's cpu related code. - Add missing Starboard CPU code - Replace some V8_OS_WIN with V8_TARGET_OS_WIN, they are found when cross-compiling for Linux platforms on Windows Bug: v8:10927 Change-Id: Id63ae8614cbe6fe0eb53df89060c8ca2c9969ef4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2963803 Commit-Queue: John Xu <johnx@google.com> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#75318}
-
John Xu authored
This is part of Cobalt's upstream effort to be more in sync with V8. Cobalt does not trigger the atomics functions in runtime-atomics.cc so we use dummy implementations for now. Bug: v8:10927 Change-Id: I2da75b7f9b22b41a1ff00af1ab4b43641e9a33bf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2963801 Commit-Queue: John Xu <johnx@google.com> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#75317}
-
- 22 Jun, 2021 1 commit
-
-
Dan Elphick authored
Moves VSNPrintf, SNPrintf and StrNCpy out of utils/utils.h into base/strings.h. Bug: v8:11879 Change-Id: I0e165cb27c42f89c9acd1c6378514b40a90cd18d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2972732 Auto-Submit: Dan Elphick <delphick@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#75308}
-
- 18 Jun, 2021 1 commit
-
-
Dan Elphick authored
The adding of base:: was mostly prepared using git grep and sed: git grep -l <pattern> | grep -v base/vector.h | \ xargs sed -i 's/\b<pattern>\b/base::<pattern>/ with lots of manual clean-ups due to the resulting v8::internal::base::Vectors. #includes were fixed using: git grep -l "src/utils/vector.h" | \ axargs sed -i 's!src/utils/vector.h!src/base/vector.h!' Bug: v8:11879 Change-Id: I3e6d622987fee4478089c40539724c19735bd625 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2968412Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#75243}
-
- 16 Jun, 2021 1 commit
-
-
John Xu authored
The Cobalt team uses base/wrappers.h to intercept some low level OS functions and recently we found strdup to be a blocker. Thankfully it only appeared once in V8. Change-Id: Ib20f399f94933b5d407c1e22e1df674420003ba2 Bug: v8:10927 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2963805 Auto-Submit: John Xu <johnx@google.com> Commit-Queue: John Xu <johnx@google.com> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#75171}
-
- 10 Jun, 2021 2 commits
-
-
John Xu authored
For Cobalt's purpose in the past, we introduced base::Memcpy to intercept memcpy calls and replace it with SbMemoryCopy on Starboard/Cobalt. Recently Cobalt removed SbMemoryCopy because we found out that memcpy implementation is universal. To reduce the cost to maintain base::Memcpy, let us remove it and revert back to raw memcpy. Bug: v8:10927 Change-Id: I060f191f8f1aed8b78ffe4558a3743f3a2da008b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2951462Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: John Xu <johnx@google.com> Cr-Commit-Position: refs/heads/master@{#75070}
-
Daoming Qiu authored
It adjusts V8 page size for performance reasons. The main use case is improving Node.js performance. The design doc is at:https://docs.google.com/document/d/1CO8Q0YZKJ3QKFRTk-aoJzmSFsuI8ALYQLtsjqLzyi-0/edit?usp=sharing Change-Id: Ie037d405a7116ccd986131d22d417b86ccf6a899 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2860840Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Shiyu Zhang <shiyu.zhang@intel.com> Cr-Commit-Position: refs/heads/master@{#75063}
-
- 08 Jun, 2021 1 commit
-
-
Ulan Degenbaev authored
Change-Id: I4a30e0f01e35eb0824f5abeec62d55d62970b59f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2910781Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Commit-Queue: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#75016}
-
- 27 May, 2021 2 commits
-
-
Dominik Inführ authored
The counter as size_t can legitimately overflow on 32-bit systems, since decreasing the counters is performed after all backing stores were freed on a background thread. Before sweeping is finished a new backing store could already be allocated which then leads to the overflow. Bug: v8:11788, chromium:1211437 Change-Id: Id9f3e58b0e84e831fe47109f7deb3a05ae7e489c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2922242 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#74836}
-
Clemens Backes authored
Bug: chromium:1056170 Change-Id: I09c6764c62cb459f3cfe317508bbc663debb66b7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2919961Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#74813}
-
- 24 May, 2021 1 commit
-
-
Santiago Aboy Solanes authored
This is a reland of 2c096b53 Relanding as-is. Reason for reland: was speculatively reverted. Original change's description: > [codegen] Add TSAN support for tagged stores in generated code > > Mimics the kArchStoreWithWriteBarrier store in generated code by having > a relaxed store to the same address, with the same value. This is done > in order for TSAN to see these stores from generated code. > > Since it is done only for kArchStoreWithWriteBarrier TSAN will see > tagged stores only. > > Bug: v8:7790, v8:11600 > > Change-Id: I275dd46f5556b3a095c416adc03f2f0ac5bde41c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2848470 > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> > Cr-Commit-Position: refs/heads/master@{#74568} Bug: v8:7790 Bug: v8:11600 Change-Id: Id1616a0f65b56cb96ca2ffd25d6ef51d0e7230da Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2914874 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#74721}
-
- 21 May, 2021 1 commit
-
-
Nico Hartmann authored
Generating C++ source files is very cumbersome using raw ostreams. This CL introduces a few classes und the torque::cpp namespace that build an abstraction of printing/formatting C++ source code (mostly functions for now). This is an initial implementation with a limited set of features and uses. Landing features incrementally shall avoid huge CLs (+reviews) and complex rebasing. Bug: v8:7793 Change-Id: I3ae869755156175c7b37ea9f649e2f9c431ce3a3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2784688Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Seth Brenith <seth.brenith@microsoft.com> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#74705}
-
- 20 May, 2021 1 commit
-
-
Clemens Backes authored
The old code was relying on identical alignment of both the source and the destination of the Relaxed_Memcpy. This is not always given, thus check for alignment of both. R=mlippautz@chromium.org Bug: chromium:1208782, v8:11704 Change-Id: Ic5dca3a5f0ecaea0df6eb123105520bd7785853c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2905611Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#74694}
-
- 18 May, 2021 1 commit
-
-
Sathya Gunasekaran authored
This reverts commit 2c096b53. Reason for revert: speculative revert for https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20TSAN%20-%20no-concurrent-marking/3838/overview Original change's description: > [codegen] Add TSAN support for tagged stores in generated code > > Mimics the kArchStoreWithWriteBarrier store in generated code by having > a relaxed store to the same address, with the same value. This is done > in order for TSAN to see these stores from generated code. > > Since it is done only for kArchStoreWithWriteBarrier TSAN will see > tagged stores only. > > Bug: v8:7790, v8:11600 > > Change-Id: I275dd46f5556b3a095c416adc03f2f0ac5bde41c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2848470 > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> > Cr-Commit-Position: refs/heads/master@{#74568} Bug: v8:7790 Bug: v8:11600 Change-Id: Ib0c7917af2b4ba43b81a8afebd687324cd78b228 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2902930 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#74627}
-
- 14 May, 2021 1 commit
-
-
Santiago Aboy Solanes authored
Mimics the kArchStoreWithWriteBarrier store in generated code by having a relaxed store to the same address, with the same value. This is done in order for TSAN to see these stores from generated code. Since it is done only for kArchStoreWithWriteBarrier TSAN will see tagged stores only. Bug: v8:7790, v8:11600 Change-Id: I275dd46f5556b3a095c416adc03f2f0ac5bde41c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2848470Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#74568}
-
- 10 May, 2021 1 commit
-
-
Clemens Backes authored
After updating our bots to use GCC 7.4, we do not need to support incomplete C++14 support any more. In particular, we can assume complete c++14 constexpr support now. This CL removes the V8_HAS_CXX14_CONSTEXPR and CONSTEXPR_DCHECK macros. The CONSTEXPR_DCHECKs are replaced by DCHECK and friend, or STATIC_ASSERT where possible. R=jgruber@chromium.org, leszeks@chromium.org, mlippautz@chromium.org Bug: v8:9686, v8:11384 Change-Id: I3a8769a0f54da7eb2cacc37ee23e5c97092e3051 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2876847Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#74486}
-
- 06 May, 2021 1 commit
-
-
Clemens Backes authored
For copying the SharedArrayBuffer content, we cannot use a simple {memcpy} because that produces data races with thread concurrently modifying the content. Instead, use a custom {Relaxed_Memcpy} that uses proper relaxed atomics. The implementation is slightly optimized to do word-sized loads and stores where possible. If we still get performance regressions, we can optimize it further in follow-up CLs. R=ulan@chromium.org CC=mlippautz@chromium.org Bug: v8:11704, chromium:1205290 Change-Id: Ie34afc5c22ec5496c0fe822d55d4788031f06c54 Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2874652 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#74403}
-
- 30 Apr, 2021 1 commit
-
-
Clemens Backes authored
cpplint rules change over time, and we change the exact rules we enable for v8. This CL removes NOLINT annotations which are not needed according to the currently enabled rules. R=mlippautz@chromium.org Bug: v8:11717 Change-Id: I05951486c8bbcd06bd4f329793cc483a1ade6833 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2859851 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#74293}
-
- 29 Apr, 2021 1 commit
-
-
Milad Fa authored
This CL adds Power10 recognition to Linux, AIX as well as IBMi. Enabled features include: MODULO FPR_GPR_MOV SIMD LWSYNC ISELECT VSX Change-Id: Ifc337e6497a3efe9697bcf03063a2b94471f96e9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2855041Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Junliang Yan <junyan@redhat.com> Reviewed-by:
Vasili Skurydzin <vasili.skurydzin@ibm.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#74279}
-
- 28 Apr, 2021 2 commits
-
-
Shu-yu Guo authored
This CL factors out a CodeRange class out of MemoryAllocator. When V8_COMPRESS_POINTERS_IN_SHARED_CAGE is defined, there is a single CodeRange shared by all Isolates in the process. This also turns short builtins back for both configurations of pointer compression. When sharing a cage, there is a single copy of the re-embedded builtins. Since a shared pointer cage is still experimental, to avoid API churn this CodeRange's size is not configurable and is always the maximal size depending on the underlying platform. Change-Id: Ie94f52746f2c5450247a999cc6071e3914d4cf0c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2819206Reviewed-by:
Adam Klein <adamk@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#74261}
-
Michael Lippautz authored
Bug: chromium:1056170 Change-Id: I470411540fc9d8beaaed52b7aed3c773b9b99b4b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2854739 Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#74243}
-
- 27 Apr, 2021 2 commits
-
-
Michael Lippautz authored
- Move ASAN and MSAN support to base/ - Eval arguments for builds without sanitizer to preserve same semantics - IWYU fixes Bug: chromium:1056170 Change-Id: I212becf205e03b155c188ffd13cf5629df6f2cb8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2851887Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#74225}
-
Michael Lippautz authored
Bug: chromium:1056170 Change-Id: I0206078a672cb66edf6590430b35b7c3bc9ce1eb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2852238 Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#74194}
-
- 26 Apr, 2021 1 commit
-
-
Michael Lippautz authored
- Move LsanPageAllocator to base; - Use LsanPageAllocator in PageBackend that serves managed C++ objects; - Remove spurious TODO for GCInfoTable which should not use the LSAN-aware backend; Bug: chromium:1056170 Change-Id: I2caa11443ab44da5164f1c29339e302bffb49228 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2850157 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#74192}
-
- 24 Apr, 2021 1 commit
-
-
Daniel Lehmann authored
This is the second CL in a line of two (see crrev.com/c/2835237) to bring write-protection to the WebAssembly code space. The previous CL changed the page permissions from W^X (only either writable or executable can be active, but never both) to write-protection (due to concurrent execution in the main thread). However, write-protection still did not work, because in several places the code space is modified without properly switching it to writable beforehand. This CL fixes --wasm-write-protect-code-memory such that it can now be enabled again (with potentially high overhead due to frequent page protection switches). For that, it adds the missing switching to writable by adding {NativeModuleModificationScope} objects (similar to the already existing {CodeSpaceWriteScope} objects for Apple M1 hardware). This CL also fixes a race condition between checking for the current writable permission and actually setting the permission, by protecting the counter of currently active writers with the same lock as the {WasmCodeAllocator} itself. (Before multi-threaded compilation, this was not necessary.) Finally, this CL also changes the {Mutex} protecting the {WasmCodeAllocator} to a {RecursiveMutex} because it can be requested multiple times in the call hierarchy of the same thread, which would cause a deadlock otherwise. Since {TryLock()} of a {RecursiveMutex} never fails, this also removes the (now failing) DCHECKs. R=clemensb@chromium.org CC=jkummerow@chromium.org Bug: v8:11663 Change-Id: I4db27ad0a9348021b0b663dbe88b3432a4d8d6b5 Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2835238 Commit-Queue: Daniel Lehmann <dlehmann@google.com> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#74163}
-
- 23 Apr, 2021 1 commit
-
-
Ulan Degenbaev authored
This removes atomicops_internals_portable.h and inlines atomicops_internals_std.h into atomicops.h. Change-Id: Id06cae42a277fee9379590ca755571193f9e8bbc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2848462Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#74152}
-
- 21 Apr, 2021 1 commit
-
-
Leszek Swirski authored
Templatize the VLQ methods to avoid std::function overheads, and add a few optimisations (small value fast path, split writing and tagging). Change-Id: I840d60c972916d1a6023c8ea2a67bbd540f2d159 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2839554 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/master@{#74081}
-
- 14 Apr, 2021 1 commit
-
-
Jakob Gruber authored
.. of the backing store, instead of continuing and silently attempting to deref nullptr. Bug: chromium:1198657 Change-Id: I82e51abc4d2f9dfe0de596b082a6f78089af7df8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2824438Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#73949}
-
- 07 Apr, 2021 1 commit
-
-
Dan Elphick authored
ARM is often defined as a macro so this changes it to kArm and fixes other cases in the same file. Bug: v8:11384 Change-Id: Iab0149be03b3b0139e3335b91a25cb4bbb2f56e3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2808939 Auto-Submit: Dan Elphick <delphick@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#73826}
-
- 31 Mar, 2021 1 commit
-
-
Suraj Sharma authored
This CL replicates the logic in chromium.src to support timestampcounter. Based on: https://chromium-review.googlesource.com/c/chromium/src/+/1413055 Change-Id: I3a64d53f64d3850831ac3ff983daa8ebef1cb29c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2789013Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Suraj Sharma <surshar@microsoft.com> Cr-Commit-Position: refs/heads/master@{#73751}
-
- 23 Mar, 2021 1 commit
-
-
Seth Brenith authored
This is a reland of ef808d3b Original change's description: > [torque] Protect against printing Type* pointers > > I've noticed a frequent mistake within Torque is to use Type* pointers > with ostream's operator<<, which causes it to print a hex pointer rather > than a descriptive string. This can cause confusing error messages for > users of the Torque compiler. This change is an idea to prevent future > incidences of that problem by adding a template overload that will cause > a compilation failure if anybody tries to use Type* in this way. It > found two incorrect uses of Type*, which I've corrected. > > Bug: v8:7793 > Change-Id: I85fafb333a89f8a3fed4346bdd154d70846a63d1 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2748936 > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> > Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> > Cr-Commit-Position: refs/heads/master@{#73574} Bug: v8:7793 Change-Id: Id775c88d67c2fb4fbef38ef889c39dff3b6ff6b7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2778727Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/master@{#73608}
-
- 22 Mar, 2021 3 commits
-
-
Ng Zhi An authored
Create a helper wasm-simd-utils to consolidate common helpers shared between simd and relaxed-simd. Drive-by cleanup to move RoundingAverageUnsigned out from overflowing-math (there is nothing overflowing about it). Bug: v8:11583 Change-Id: I9e24b4c1ee7f0bc00d0a3f85e7553991007a8d5a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2773784Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#73582}
-
Deepti Gandluri authored
This reverts commit ef808d3b. Reason for revert: Failures on TSAN: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20TSAN%20-%20no-concurrent-marking/2981? Original change's description: > [torque] Protect against printing Type* pointers > > I've noticed a frequent mistake within Torque is to use Type* pointers > with ostream's operator<<, which causes it to print a hex pointer rather > than a descriptive string. This can cause confusing error messages for > users of the Torque compiler. This change is an idea to prevent future > incidences of that problem by adding a template overload that will cause > a compilation failure if anybody tries to use Type* in this way. It > found two incorrect uses of Type*, which I've corrected. > > Bug: v8:7793 > Change-Id: I85fafb333a89f8a3fed4346bdd154d70846a63d1 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2748936 > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> > Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> > Cr-Commit-Position: refs/heads/master@{#73574} Bug: v8:7793 Change-Id: Ieee470aa3cd176b9e1ad21fe39b9939edcef5bd6 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2778722 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by:
Seth Brenith <seth.brenith@microsoft.com> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#73576}
-
Seth Brenith authored
I've noticed a frequent mistake within Torque is to use Type* pointers with ostream's operator<<, which causes it to print a hex pointer rather than a descriptive string. This can cause confusing error messages for users of the Torque compiler. This change is an idea to prevent future incidences of that problem by adding a template overload that will cause a compilation failure if anybody tries to use Type* in this way. It found two incorrect uses of Type*, which I've corrected. Bug: v8:7793 Change-Id: I85fafb333a89f8a3fed4346bdd154d70846a63d1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2748936Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/master@{#73574}
-
- 16 Mar, 2021 1 commit
-
-
Ross McIlroy authored
Release-official builds strip error messages from CHECK messages. This can make it difficult to distinguish a CHECK crash location in crash reports. As such, instead of using V8_FatalNoContext, import the IMMEDIATE_CRASH macro from chromium and use that instead, which should cause a crash directly in the instruction stream so that the top stackframe on the crash report directly identifies the CHECK location that failed. More details here: https://docs.google.com/document/d/1tyMwzxUNH8BctM_urSQIYdcbwmzP4kTnwEjnFamBpKY Change-Id: I5b8175f19571834f790060d641db08d0b9c2c17b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2756223Reviewed-by:
Mythri Alle <mythria@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#73430}
-