- 04 Mar, 2021 3 commits
-
-
Ng Zhi An authored
Bug: v8:6020 Change-Id: I0605798d03f2e9f9c3c07c49141289889a10a3b0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2727204Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#73180}
-
Zhi An Ng authored
This reverts commit fe00fbd9. Reason for revert: Broke on noavx https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20-%20debug/36175/overview Original change's description: > [wasm-simd][liftoff] Compile double precision conversions > > I missed actually handling these instructions in liftoff-compiler, so > even though the assembler functions were implemented for all archs, we > weren't running them. > > This properly handles the instructions and a couple of fixes: > > - for arm64, typos in using signed instructions for unsigned Wasm ops > - for arm, handle the case where dst == src, which leads to us > overwriting src and then reading junk from the overwritten portions to > convert > > Bug: v8:11265 > Change-Id: I7919280bdf395137e95075deb30ed815100df222 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2728382 > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> > Commit-Queue: Zhi An Ng <zhin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73178} Bug: v8:11265 Change-Id: I9bce3418c5321ded38e339cd96a9e7e399190c96 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2733660 Auto-Submit: Zhi An Ng <zhin@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#73179}
-
Ng Zhi An authored
I missed actually handling these instructions in liftoff-compiler, so even though the assembler functions were implemented for all archs, we weren't running them. This properly handles the instructions and a couple of fixes: - for arm64, typos in using signed instructions for unsigned Wasm ops - for arm, handle the case where dst == src, which leads to us overwriting src and then reading junk from the overwritten portions to convert Bug: v8:11265 Change-Id: I7919280bdf395137e95075deb30ed815100df222 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2728382Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#73178}
-
- 03 Mar, 2021 31 commits
-
-
Ng Zhi An authored
We don't need DefineSameAsFirst for AVX, this can save some moves. Bug: v8:11190 Change-Id: I301896527cbeab62636b4af744ab0d3b42094ae2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2727152Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#73177}
-
Ng Zhi An authored
We don't need DefineSameAsFirst for AVX, this can save some moves. Bug: v8:9561 Change-Id: Ie30334d4a8f82d171d8048c2e02792c60b0106a7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2727151Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#73176}
-
Milad Fa authored
Change-Id: Ic6d25a2fbb22a1c658bcfa9dedae0c7b5dd13794 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2733072Reviewed-by: Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#73175}
-
Milad Fa authored
Also introduced a new generic macro to decode vx instructions. Change-Id: I52477213555381b401022434de2946f91558a0b6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2732609Reviewed-by: Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#73174}
-
Ng Zhi An authored
Bug: v8:11508 Change-Id: I27c01b9069de283247cfae4f5e5bfc42ebb998a5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2720017Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#73173}
-
Dan Elphick authored
Add a couple of missing dependencies to the build rules for torque-generated files. Also add a allow_circular_includes_from declaration to v8_initializers, so that its files can be accessed by torque_generated_initializers which cannot depend on v8_initializers without introducing a cycle. This reduces the number of gn check errors with --check-generated from 10512 to 33. Bug: v8:7330 Change-Id: I324295c639094c258b3e8e674aef6edc043fe505 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2732014 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Auto-Submit: Dan Elphick <delphick@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#73172}
-
Ng Zhi An authored
This is similar to the x64 optimization for i8x16.swizzle. Use external refs to load the masks neded for i8x16.swizzle. Before it would need 3 instructions (2 moves + 1 pshufd), now it requires 2 moves. Also on AVX we can relax the dst == src requirement, which can potentially save a move too. Extract the code sequence into a macro-assembler function for sharing between Liftoff and TurboFan. Bug: v8:11346 Change-Id: Id0ec5e891595f0b0fc2922e932fc6c501eca8dc1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2727150Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#73171}
-
Manos Koukoutos authored
Changes: - Add wasm-specific opcodes to MemoryOptimizer::CanAllocate. - Instantiate PipelineData::{simplified_, javascript_, jsgraph_} in the wasm pipeline. - In pipeline.cc, move WasmHeapStubCompilationJob below MemoryOptimizationPhase. - Introduce WasmBaseOptimizationPhase, use it in the wasm pipeline. - Add allow_singalling_nan argument to CsaEarlyOptimizationPhase and CsaOptimizationPhase. Bug: v8:11510 Change-Id: I6d886a352ce0be612415f51d29860aeb6c0efcf4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2726503Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/master@{#73170}
-
Frank Emrich authored
This CL is the first in a series that implements Turbofan support for property accesses satisfying the following conditions: 1. The holder is a dictionary mode object. 2. The holder is a prototype. 3. The access is a load. This feature will only be enabled if the build flag v8_dict_property_const_tracking is set. This particular CL does the following: a) In PropertyAccessInfo::Kind, rename kDataConstant and kAccessorConstant to kFastDataConstant and kFastAccessorConstant, respectively, to indicate that these kinds are used for fast mode holders. b) In PropertyAccessInfo::Kind, add kDictionaryProtoDataConstant and kDictionaryProtoAccessorConstant, which will be used for dictionary mode holders (which must also be prototypes, as stated above). c) Add a member dictionary_index_ to PropertyAccessInfo, which is used by the kinds mentioned in b) Bug: v8:11248 Change-Id: Id1c10215aab287066a9765756f112c8035141013 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718228 Commit-Queue: Frank Emrich <emrich@google.com> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#73169}
-
Clemens Backes authored
This reverts commit fab754ff. Reason for revert: TSan failures: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20TSAN%20-%20isolates/13875/overview Original change's description: > [wasm][debug] Cache debugging code > > This adds a little cache for debugging code, including stepping code. > Especially in stepping, we are currently repeatedly recompiling the same > function, because whenever we pause (after every step) we clear > stepping, only to reinstantiate it if the user continues stepping. > Especially in source-level stepping this is wasteful, because stepping > over a single line of C++ code can execute hundreds or thousands of > steps in wasm. > > R=thibaudm@chromium.org > > Bug: chromium:1172299 > Change-Id: Id59a26cc67a5bf4a2d3cf6b1e8f14a8b1c73712c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2732015 > Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> > Commit-Queue: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73162} Bug: chromium:1172299 Change-Id: I8fac7701e6f58012c8e17322c22f29692ee8932b No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2732020 Auto-Submit: Clemens Backes <clemensb@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#73168}
-
Omer Katz authored
This was missing in CppHeap which means the used_bytes counter in EmbedderTracing was reset to 0 after every GC. Bug: chromium:1056170 Change-Id: Iddb0aa1eff9cc354622653376c6623364e015c5d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2732668 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73167}
-
Manos Koukoutos authored
The first pass in loop-unrolling aims to process stack check and loop exit nodes. These nodes are all connected in a known fashion to the loop header, so there is no need to traverse the whole loop. Bug: v8:11298 Change-Id: I8336290ce7dddc8967f3fe05d3064b681c1e5c5a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2732007Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/master@{#73166}
-
Ng Zhi An authored
The implementation was added in the various assembler but not actually handled in liftoff-compiler. Bug: v8:11348 Change-Id: Ie05bb5e607498a5e5cd283402f9d1eb08ce81661 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2726548Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#73165}
-
Ng Zhi An authored
This is similar to the optimization for f32x4 dup + mul in https://crrev.com/c/2719083. Refactor the pattern-matching code into a helper function that returns a struct with all the necessary fields to emit the optimized fmul by element instruction. Add similar unittests and a negative test as well. Bug: v8:11257 Change-Id: I79ab0bc783f43397191a54bf6fa736dd4dc8d807 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2728428Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#73164}
-
Benedikt Meurer authored
When retrieving an API accessor function (i.e. either the getter or the setter) for which the lazy accessor mechanism is used (i.e. where the actual JSFunction is created lazily and only the FunctionTemplateInfo) is around, we thus far created a fresh JSFunction every time the accessor function is requested, but that's observably wrong behavior, since the accessors are JavaScript objects with identity. We currently rely on the instantiation cache to guarantee identity, but there's no reason why we couldn't instead just put the instantiated JSFunction into the AccessorPair. Fixing this to only instantiate the lazy accessor pair only once, upon first time it's requested, coincidentally also simplifies (and fixes) the API accessor breakpoint machinery. This was previously lacking support for walking dictionary prototype objects and forcibly instantiating the lazy accessor pairs with break points. However, all this magic in the debugger is no longer necessary when we ensure that the lazy accessor pair component is generally only instantiated once. Bug: v8:178, v8:7596, chromium:986063, chromium:496666 Change-Id: I41d28378010716c96c8ecf7c3f1247765f8bc669 Fixed: chromium:1163547 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2731527Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#73163}
-
Clemens Backes authored
This adds a little cache for debugging code, including stepping code. Especially in stepping, we are currently repeatedly recompiling the same function, because whenever we pause (after every step) we clear stepping, only to reinstantiate it if the user continues stepping. Especially in source-level stepping this is wasteful, because stepping over a single line of C++ code can execute hundreds or thousands of steps in wasm. R=thibaudm@chromium.org Bug: chromium:1172299 Change-Id: Id59a26cc67a5bf4a2d3cf6b1e8f14a8b1c73712c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2732015Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#73162}
-
Igor Sheludko authored
Bug: chromium:1153363, v8:10047 Change-Id: I1ee305ee25c8fab64756ba2b0cf38a3c6b004d30 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2732667Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#73161}
-
Santiago Aboy Solanes authored
Now that all individual methods are being performed concurrently, we can move DescriptorArray to skip serialization. Bug: v8:7790 Change-Id: I4bda72e6302b0f2e224f9fa2e4e97877e42a3c2d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2720280 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#73160}
-
Camillo Bruni authored
Handles are notorious for preventing compiler optimizations. We should avoid them for simple const functions. - Mark more API functions const - Mark more String functions const Bug: v8:11195, chromium:808503, v8:11263 Change-Id: I9940e85600bc7d19027039d807b3313e2dcccdc7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2575065Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#73159}
-
Nico Hartmann authored
Bug: v8:11298 Change-Id: I99d36812aabd99fd92a20f743705aee193914381 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2731530Reviewed-by: Manos Koukoutos <manoskouk@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#73158}
-
Camillo Bruni authored
- Add private NewStructInternal - Dehandlify JSObject initializers Bug: v8:11263 Change-Id: I62d77ef32747c2042de707ba10fad20327af0930 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2729342Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#73157}
-
Camillo Bruni authored
Bug: v8:11165 Change-Id: Id1c7abec73d5dd4824c0d84c9789a8b4ea4911ac Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2726513Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#73156}
-
Santiago Aboy Solanes authored
Also add the qualifier `compiler::` to places where it should have been used in the first place. Bug: v9:6949 Change-Id: Ib5ca6829cd9d72b1e3047afc92363910c902bbbf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2731529Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#73155}
-
Omer Katz authored
LargePage::PayloadSize inclues the heap object header. Keeping PayloadSize as is to keep it aligned with NormalPage::PayloadSize and introducing LargePage::ObjectSize as the counterpart for HeapObjectHeader::ObjectSize that will exclude the header. Bug: chromium:1056170 Change-Id: I8a5f50841fd9dbd6c9a4a4035d9040021944cacc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2731533Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73154}
-
Frank Emrich authored
This CL is part of a series that adds the C++ implementation of SwissNameDictionary, a deterministic property backing store based on Swiss Tables. This CL contains: 1. Copy and equality functions used for testing 2. Runtime functions corresponding to most dictionary operations, which are used temporarily while the CSA/Torque implementation is work in progress 3. Some minor changes to SwissNameDictionary needed for testing (adding template instantiations, V8_EXPORT_PRIVATE, ...) Bug: v8:11388 Change-Id: Iea5f4650b0a443edf563565138ea86fcb45af13a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2722094 Commit-Queue: Frank Emrich <emrich@google.com> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#73153}
-
Clemens Backes authored
This is a wasm-only test, hence move it to the wasm directory and skip it in no-wasm builds. R=ahaas@chromium.org Bug: v8:11238 Change-Id: I57c9abbb98c3415f4d759372d479e1f61464217f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2731536Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#73152}
-
Seth Brenith authored
This is a partial reland of https://crrev.com/c/2601880 . In preparation for ScopeInfo not being a FixedArrayBase, this change privatizes the FixedArray-style functions that provide access to ScopeInfo fields by index, and moves them from scope-info-inl.h to scope-info.cc. Those functions are still used pretty heavily during initialization (ScopeInfo::Create, etc.), but at least we can avoid presenting them to the rest of the world. This change also introduces a new length() function in ScopeInfo which hides the one inherited from FixedArrayBase and computes the ScopeInfo's length based on its flags, so that there are no remaining readers of the 'length' field. Change-Id: I609754010723b679e5cf00f386020faaab84c17a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718275 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#73151}
-
Dan Elphick authored
Fixes gn check error due to include of test/common/wasm/wasm-macro-gen.h. Also changes common_test_headers dep from v8_for_testing to v8_internal_headers, since otherwise on windows the wasm_api_tests binary ends up depending on wee8 and libv8_for_testing which define many of the same symbols. Bug: v8:7330 Change-Id: Ib03b860668146f21456729a3d2c5e0d75d8c17d4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2729335 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@{#73150}
-
Santiago Aboy Solanes authored
Also access the DescriptorArray through GetFieldType concurrently if the FLAG_turbo_direct_heap_access is on. Bug: v8:7790 Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_no_cm_rel_ng Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng Change-Id: I2506fe44a3be9f3474934300d52849f278899e70 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2720299Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#73149}
-
Alex Kodat authored
These simplify production of extra information in stack traces or dereferencing source maps in processing stack traces. While these can be managed externally, this can be very complicated in environments where scripts come from many different sources, possibly not even under embedder control. Since V8 already has easy access to this information, it's nice to share it with embedders. Bug: v8:11509 Change-Id: Ic5a1685adf4cdf456bdf7191ce815f728cf491e2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2724571Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#73148}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/a1f3c3d..122de42 Rolling v8/buildtools: https://chromium.googlesource.com/chromium/src/buildtools/+log/aa09fa7..b60d41f Rolling v8/buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind/+log/201ff85..8869f42 Rolling v8/third_party/aemu-linux-x64: gUyZgCT7R0DTHyu0Lq1Q7yrbbA9cage7ltjq_oN3mXkC..xxaIXDIq8jINlzwdt2TTV0PFwnzlgMri76ohrXyvF-wC Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/cae643a..6da8f82 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/6ac4a15..bf0766c Rolling v8/third_party/googletest/src: https://chromium.googlesource.com/external/github.com/google/googletest/+log/1e315c5..07f4869 TBR=v8-waterfall-sheriff@grotations.appspotmail.com Change-Id: I4ea420884e582976db279ec8995c642f0f5786b2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2730858Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#73147}
-
- 02 Mar, 2021 6 commits
-
-
Junliang Yan authored
Change-Id: I5a7e9df277941a4fe88747720bed3c930fd6b4db Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2726544Reviewed-by: Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/master@{#73146}
-
Sara Tang authored
Design doc: https://docs.google.com/document/d/1xkXj94iExFgLWc_OszTNyNGi523ARaKMWPZTeomhI4U This is the second (and hopefully final!) change list needed to integrate ETW into V8. In particular, we added stack-walking functionality for JIT-ted functions! Some notes on instrumentation: - The gist of getting stack-walking in ETW is we need to emit events with specific event IDs. These events get stitched into a pseudo-PDB that is recognizable by ETW. - Unfortunately, we cannot rely on the TraceLogging API from the first CL, as it does not support specifying event IDs. Instead, Bill Ticehurst wrote an API that peels back the TraceLogging API just enough so that we can specify event IDs. This API is the entirety of etw-metdata.h - We attach a CodeEventHandler that logs a stack-walking event whenever code movement is triggered. Bug: v8:11043 Change-Id: I1bf57c985b7375f045089027855b1c03878abb78 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2616221Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Sara Tang <sartang@microsoft.com> Cr-Commit-Position: refs/heads/master@{#73145}
-
Ng Zhi An authored
Operand 1 is not always a register (when AVX is supported). Bug: chromium:1182571,v8:11215 Change-Id: I75740b4900c4d8b4a10478780d93c995836faeb2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2724393Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#73144}
-
Milad Fa authored
Change-Id: I051a82a4a041aa81c150ce559b2b3cbee7718425 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2727271Reviewed-by: Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#73143}
-
Michael Lippautz authored
Bug: chromium:1056170 Change-Id: Ib8df4e10aa3a459cc24ca8d89db1f39b53cc5966 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2727269 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@{#73142}
-
Ng Zhi An authored
Wasm SIMD does not have an opcode to multiply a vector by a scalar. In these cases, Wasm code uses mul(x, shuffle(y, imms)), where the shuffle is a dup of a single lane in y. Pattern match on this to emit a fmul (element). We can do similar pattern match on f64x2 too, that will come in a future patch. Bug: v8:11257 Change-Id: I61e8c46b56719a1179c8a6032dbf8a4cc03b40a9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2719083 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#73141}
-