- 10 Sep, 2020 6 commits
-
-
Leszek Swirski authored
Refactors weak prefix handling, in particular the post-hoc weak prefix read and HeapObjectReference creation, to a few function calls. This simplifies ReadDataCase sufficiently that it can be inlined into ReadData, which removes the need for a) having two places where we branch on the bytecode value (ReadData and ReadDataCase), and b) removes the need for the macro helper which calls ReadData. With a bit of refactoring we can therefore make the big switch much more explicit. This patch also moves that switch into a per-bytecode helper, so that switch entries can return the updated slot, rather than remembering to update in-place and continue looping. It also moves the weak prefix handling from the deserializer allocator to the deserializer itself, as weak prefixes don't have anything to do with allocation. Change-Id: I84fbda021cb65d5bfb91fc3ef27f72823acee05a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2395557 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#69800}
-
Georg Neis authored
My last CL introduced a null-pointer bug there. Bug: chromium:1126771, v8:7790 Change-Id: Ib16317dea14c9fbad7951cb28ce7bb8bb9ce41c3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2402037 Auto-Submit: Georg Neis <neis@chromium.org> Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#69799}
-
Mythri A authored
Monomorphic loads are quite common and it is important to keep these load accesses fast. Dynamic map checks increases the overhead for these monomorphic accesses by having to actually verify the IC state and check against a map from the feedback vector This was causing a significant (~2-3%) regression in JavaScript duration. To keep the common case of monomorphic checks fast, we now want to add a check against expected map (which passes in most cases) and move the rest of the checks to a builtin. i.e. we want dynamic map checks (when generating the code for loads in monomorphic state) to look like: if (incoming_map != HeapConstant(expected_map)) call_builtin; This helps us to keep the most common case fast and still gets the benefits of dynamic map checks. This cl is the first in the series of cls that will add this functionality. This cl makes the expected_map available for dynamic map checks operator. In follow up cls, we will add a builtin and update the code to use the builtin. Bug: v8:10582 Change-Id: I10992c6ba1fb005592de962310c208cff6829119 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2397894Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#69798}
-
Sathya Gunasekaran authored
The dynamic map checks operator loads the feedback vector and performs map checks against each map and handler entry in the feedback against the incoming map and handler. Instead of emitting code to iterate over this feedback vector at runtime, we unroll this loop at compile time. The generated code is similar to this pseudocode: length = feedback_slot.length if length >= 4: goto labels[3] if length == 3: goto labels[2] if length == 2: goto labels[1] if length == 1: goto labels[0] labels[3]: map = load(feedback_slot, 6) if incoming_map == map goto handler_check(7) goto labels[2] labels[2]: map = load(feedback_slot, 4) if incoming_map == map goto handler_check(5) goto labels[1] labels[1]: map = load(feedback_slot, 2) if incoming_map == map goto handler_check(3) goto labels[0] labels[0]: map = load(feedback_slot, 0) if incoming_map == map goto handler_check(1) bailout handler_check (index): handler = load(feedback_slot, index) if incoming_handler == handler goto done deoptimize Bug: v8:10582, v8:9684 Change-Id: I64d64ff8eda664e4d476bf1b2612e26a344e98a6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2339960 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#69797}
-
Zhao Jiazhong authored
Change-Id: Ic2bbf2b3ff542d916da43929445bd83553b5091f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2401952Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Cr-Commit-Position: refs/heads/master@{#69796}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/9c1d422..471a6cd Rolling v8/buildtools: https://chromium.googlesource.com/chromium/src/buildtools/+log/ff93f3e..a90362b Rolling v8/buildtools/linux64: git_revision:6f13aaac55a977e1948910942675c69f2b4f7a94..git_revision:e002e68a48d1c82648eadde2f6aafa20d08c36f2 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/dc9083e..70f34e0 TBR=machenbach@chromium.org,tmrts@chromium.org,v8-waterfall-sheriff@grotations.appspotmail.com Change-Id: I11a42e1b54914893affa6fddb390cb5eb0d76472 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2401774Reviewed-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@{#69795}
-
- 09 Sep, 2020 34 commits
-
-
Shu-yu Guo authored
This reverts commit 1d2726dd. Reason for revert: ODROID failure: https://ci.chromium.org/p/v8/builders/ci/V8%20Arm%20-%20debug/15814? Original change's description: > [wasm-simd] Stage SIMD > > SIMD has been pretty stable for a while now, we are not expecting big > changes (like opcode renumbers), there might be new instructions added, > and they will all be backwards-compatible. > > The reference interpreter in the SIMD proposal is now capable of > generating JS files for all test cases, so we can now run them. > > There is a bit of tweaking necessary, since SIMD tests are in > tests/core/simd subfolder in the spec, so we need to change the glob > into a find that will traverse into subdirectory. > > Bug: v8:10835 > Change-Id: I1f7e3cf37f21b2aa2537d1e34242da2373bbf626 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2378587 > Commit-Queue: Zhi An Ng <zhin@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69793} TBR=bbudge@chromium.org,ahaas@chromium.org,zhin@chromium.org Change-Id: I3a90c616109ca048691d97ab45698bc15a678e18 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10835 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2402379Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#69794}
-
Ng Zhi An authored
SIMD has been pretty stable for a while now, we are not expecting big changes (like opcode renumbers), there might be new instructions added, and they will all be backwards-compatible. The reference interpreter in the SIMD proposal is now capable of generating JS files for all test cases, so we can now run them. There is a bit of tweaking necessary, since SIMD tests are in tests/core/simd subfolder in the spec, so we need to change the glob into a find that will traverse into subdirectory. Bug: v8:10835 Change-Id: I1f7e3cf37f21b2aa2537d1e34242da2373bbf626 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2378587 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#69793}
-
Frank Tang authored
https://chromium.googlesource.com/external/github.com/tc39/test262/+log/24c6732..e8cdf92 Bug: v8:7834 Change-Id: I99d104f9b071ff2abed11e54a3c2832400e84ac4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2393218Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#69792}
-
Jakob Kummerow authored
Apple's upcoming arm64 devices will prevent rwx access to memory, but in turn provide a new per-thread way to switch between write and execute permissions. This patch puts that system to use for the WebAssembly subsystem. The approach relies on CodeSpaceWriteScope objects for now. That isn't optimal for background threads (which could stay in "write" mode permanently instead of toggling), but its simplicity makes it a good first step. Background: https://developer.apple.com/documentation/apple_silicon/porting_just-in-time_compilers_to_apple_silicon Bug: chromium:1117591 Change-Id: I3b60f0efd34c0fed924dfc71ee2c7805801c5d42 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2378307 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#69791}
-
Santiago Aboy Solanes authored
Instead of using SKIP (which would skip the tests), we can use [PASS, FAIL] which signals to run the tests and accept if they are flakily passing. In this way, we would get coverage and an error if we have a non-flaky failure. Bug: v8:10876 Change-Id: Idbdf9dcb76775cf5e81dc1c3bc6d9abb1db23ced Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2401424 Auto-Submit: Santiago Aboy Solanes <solanes@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#69790}
-
Igor Sheludko authored
... and apply zone filter to the graph header. Bug: v8:10572 Change-Id: I923f2342a064864aeac693c482c09fee3eda28ee Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2401419Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#69789}
-
Thibaud Michaud authored
Remove {available_task_ids_} and use the task ID provided by the JobDelegate instead. R=clemensb@chromium.org Bug: chromium:1123471 Change-Id: I62c7efd68fbb0a93ac3d36614b3248b60da65ff8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2400986 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#69788}
-
Camillo Bruni authored
Using the Template::Set method which const char name is more ergonomic and it creates directly an internalized name instead of the normal string that most users pass in. Bug: v8:10884 Change-Id: I00c6d49fee9de16b8ebbfe75be4b383831f0d4dd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2400980Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#69787}
-
Andreas Haas authored
The emitted safepoint entries had the wrong size, because it did not contain StandardFrameConstants::kFixedFrameSizeAboveFp. The code still worked because the indices of encoded in the entries where too low by StandardFrameConstants::kFixedFrameSizeAboveFp and thereby corrected the invalid size. It worked as follows: First the stack_slots_size gets calculated from the safepoint entry. Then the position of a stack slot was "frame_header_base + stack_slots_size - index * pointer_size", where "index" is what is encoded in the safepoint map. Because of the incorrect encoding, both stack_slot_size and index were too low by StandardFrameConstants::kFixedFrameSizeAboveFp. Therefore the errors in both values eliminated each other, making the end result correct. With --print-code, the safepoint entry size was also read, and it crashed because the encoded value was too low. The reland fixes the indices. Original message: With this CL we emit safepoint maps for externref values on the Liftoff value stack. With that there is support for externref parameters and locals in Liftoff, as well as for intermediate values of type externref. R=thibaudm@chromium.org Bug: v8:7581 Change-Id: I88444e57745d7b9fe8f1630e904d49736fa9d720 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2398531 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#69786}
-
Leszek Swirski authored
This is a reland of 1c7618ab The revert was due to an missing dependency in the incremental build, fixed in https://crrev.com/c/2400987. Original change's description: > [serializer] Remove new space > > The new space is unused in the snapshot, as we convert all new objects > to old space objects when serializing. This means we can get rid of > the snapshot new space entirely, and as a result get rid of the write > barrier checks. > > This also rejiggles the order of the general spaces enum so that the new > spaces are at the end, and can be truncated off for the SnapshotSpace > enum. > > As a drive by, fix a bug in an unrelated test-api test which this patch > exposed. > > Change-Id: If67ff8be5bf03104a3ffae7df707c22460bba3a1 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2390762 > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69761} Tbr: jgruber@chromium.org,dinfuehr@chromium.org Change-Id: I9fbc61a124fae09d12d6281baaca60eb6c39a6e5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2401420Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#69785}
-
Manos Koukoutos authored
Additional changes: - Add tests. - Rename some subtyping functions. Bug: v8:7748 Change-Id: I3635e93ea6bbab1942f927a8e414afc8efd31f69 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2389983 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#69784}
-
Camillo Bruni authored
For testing log file parsing from JavaScript we need to be able to read open log files directly. This makes the default log file mode consistent with the temporary one. Bug: v8:1064 Change-Id: Ic77ba6864efe633e54792fc683edc2fe07af4cd5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2400993Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#69783}
-
Camillo Bruni authored
Bug: chromium:1121111 Change-Id: I34d60957fe972066928762be961b9a963bae7975 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2390148Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#69782}
-
Maya Lekova authored
This reverts commit c99147c6. Reason for revert: Breaks UBSan - https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20UBSan/12773? Original change's description: > cppgc, heap: Don't eagerly allocate worklist segments > > Bug: chromium:1056170 > Change-Id: I75a6b5f52bfe8dd71abc086e5d1e060759ad7fc0 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2391254 > Commit-Queue: Omer Katz <omerkatz@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69778} TBR=ulan@chromium.org,mlippautz@chromium.org,omerkatz@chromium.org Change-Id: Icf1b1a333b5f1b683c816c65662207914996e325 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:1056170 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2401422Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#69781}
-
Michael Lippautz authored
Adds a field that can be propagated by embedders. The field holds the detachedness state of DOM objects but can be used in general by embedder to indicate which objects are for sure part of interesting application logic and which objects are not. This field is then processed properly by the DevTools front end. Bug: chromium:1110816 Change-Id: I53a172208cd69ce2ba2ed9524d36b6512aae7d30 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2332174Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#69780}
-
Leszek Swirski authored
This is a reland of 81577a79 The revert was due to an missing dependency in the incremental build, fixed in https://crrev.com/c/2400987. Original change's description: > [serializer] Change deferring to use forward refs > > Now that we have forward references, we can replace the body deferring > mechanism with forward references to the entire pointer. > > This ensures that objects are always deserialized with their contents > (aside from themselves maybe holding forward refs), and as a result we > can simplify the CanBeDeferred conditions which encode the constraint > that some objects either need immediately have contents, or cannot be > deferred because their fields are changed temporarily (e.g. backing > store refs). > > This also means that objects with length fields (e.g. arrays) will > always have those length fields deserialized when the object is > deserialized, which was not the case when the body could be deferred. > This helps us in the plan to make GC possible during deserialization. > > Bug: v8:10815 > Change-Id: Ib0e5399b9de6027765691e8cb47410a2ccc15485 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2390643 > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69760} Tbr: jgruber@chromium.org Bug: v8:10815 Change-Id: I235076a97c5dfa58513e880cc477ac72a28b29e9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2400992Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#69779}
-
Omer Katz authored
Bug: chromium:1056170 Change-Id: I75a6b5f52bfe8dd71abc086e5d1e060759ad7fc0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2391254 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#69778}
-
Jakob Gruber authored
The %BytecodeBudgetInterruptFromCode call resets the interrupt budget; prior to this CL we'd overwrite the value immediately after returning from runtime, resulting in repeated runtime calls. Drive-by: Add the interrupt budget to FeedbackCell's debug print. Bug: v8:8888 Change-Id: I2c98b839b8630a9e14df3d8a724e03c5afbec687 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2400991 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#69777}
-
Leszek Swirski authored
tools/debug_helper:run_mkgrokdump used to only depend on mkgrokdump. However, the snapshot can change without affecting the mkgrokdump binary itself. So, if the mkgrokdump binary doesn't change, then run_mkgrokdump doesn't run, even if the snapshot changed. This could cause mysterious test failures in incremental builds, in particular for tests testing the contents of heap-constants-gen.cc. Now, we make run_mkgrokdump depend on run_mksnapshot_default directly, so that snapshot updates force an mkgrokdump run. Change-Id: Ia3871e1b4fa15ec2dbc0bc5463afdb427cb39c61 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2400987 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#69776}
-
Georg Neis authored
1) Strengthen the ObjectData::As* cast methods to check that the kind is kSerializedHeapObject, because otherwise the data object is not a subclass instance and the cast is invalid. 2) Fix errors revealed by (1) and pave way for moving away from serialization. These changes are mechanical except for a needed refactoring of ContextRef::previous. Details regarding (2): Change (1) revealed a large number of places where we incorrectly casted object data. This went unnoticed so far because in the end we accessed the object through the corresponding ObjectRef interface which did the right thing depending on the data kind. These bugs were introduced when kUnserializedReadOnlyHeapObject was added, but they also affect the new kNeverSerializedHeapObject and would become show stoppers as we move more objects to the latter kind. The CL fixes all the issues that I found except one: There's still one place left where we assume a particular subclass instance for now (marked with a TODO). This is not a bug at the moment but will cause CHECK failures once we move the corresponding object type to never-serialized. A rewrite of map serialization might be needed to resolve that. Note: With the changes in (2) we lose some type safety in the implementation of the *Data classes. With some extra work that could be avoided. However, I think it's not worth it because (i) these classes are expected to be removed (and in the meantime to not change much), and (ii) their wrapper *Ref classes still ensure type safety. Bug: v8:7790 Change-Id: I9a5d03fa2f61e03c9c0ab4ac7f9869603d5be1d9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2398537Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Auto-Submit: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#69775}
-
Omer Katz authored
Bug: chromium:1056170 Change-Id: Ibf561b663c74f9448139fd99945e5f4aea26419b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2390776 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#69774}
-
Sathya Gunasekaran authored
Bug: v8:10582 Change-Id: I89597bb31d1a0aa50672e8f579f5011da6be29e3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2400981Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#69773}
-
Mythri A authored
Bug: v8:10582 Change-Id: I4f86af0a2a190a52885fea5cc42c9e9983372119 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2398530Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#69772}
-
Gus Caplan authored
See crrev.com/c/2383030 PerformCheckCast<Data>() itself should not invoke Data::Cast(), since there is no such method and every publicly available value can be casted to it anyway. This is an issue in e.g. GetDataFromSnapshotOnce<Data>(). Change-Id: I4acbff86ffd4537b744dafc588733428e792b4bd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2399052Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Gus Caplan <snek@chromium.org> Cr-Commit-Position: refs/heads/master@{#69771}
-
Sathya Gunasekaran authored
This reverts commit 23531d82. Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/33007? Original change's description: > Reland "[test][d8] Add d8.log.getAndStop helper" > > This is a reland of 95aa697b > > Original change's description: > > [test][d8] Add d8.log.getAndStop helper > > > > The new helper function allows us to write tests for log parsing > > without the need to first generating a log file. This makes it easier > > to spot errors when the log format changes. > > > > - Add d8 global variable > > - Add file_name accessor to Logger and Log classes > > - Change OS::LogFileOpenMode to w+ / wb+ > > - Use separate Log::WriteLogHeader method > > - Remove unused logger_ instance variable from Log > > > > Bug: v8:10644 > > Change-Id: Ifc7e35aa4e91b3f01f0847843263946e085944c3 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2387563 > > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#69715} > > Bug: v8:10644 > > TBR=verwaest@chromium.org > > Change-Id: I54741344834d88a376b74e2e3a2047e880a94624 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2396081 > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69769} TBR=mlippautz@chromium.org,cbruni@chromium.org,gsathya@chromium.org,verwaest@chromium.org Change-Id: I493315e0d6498f0fa9bed3409725bb52d554b53a No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10644 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2400982Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#69770}
-
Camillo Bruni authored
This is a reland of 95aa697b Original change's description: > [test][d8] Add d8.log.getAndStop helper > > The new helper function allows us to write tests for log parsing > without the need to first generating a log file. This makes it easier > to spot errors when the log format changes. > > - Add d8 global variable > - Add file_name accessor to Logger and Log classes > - Change OS::LogFileOpenMode to w+ / wb+ > - Use separate Log::WriteLogHeader method > - Remove unused logger_ instance variable from Log > > Bug: v8:10644 > Change-Id: Ifc7e35aa4e91b3f01f0847843263946e085944c3 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2387563 > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69715} Bug: v8:10644 TBR=verwaest@chromium.org Change-Id: I54741344834d88a376b74e2e3a2047e880a94624 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2396081 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#69769}
-
Victor Gomes authored
Change-Id: I0840a8fb34e8ef068580ad74e40e87c0bb56c1af Bug: v8:10201 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2400278 Commit-Queue: Victor Gomes <victorgomes@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Auto-Submit: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/master@{#69768}
-
Omer Katz authored
This CL migrates cppgc to use Ulan's new worklist implementation. Since there is no central segments array anymore, we cannot rely on getting the same view (now renamed to Local) given the same task id. To avoid creating many short lived segments (e.g. for write barriers) marking state now holds local views for all worklists and provides access to them. Bug: chromium:1056170 Change-Id: Id19fe1196b79ed251810e91074046998dc2a9177 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2390771 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#69767}
-
Sathya Gunasekaran authored
Flaky: https://logs.chromium.org/logs/v8/buildbucket/cr-buildbucket.appspot.com/8869650907931155856/+/steps/OptimizeForSize__flakes_/0/logs/pause-on-oom-wide/0 Bug: v8:10876 Change-Id: I3750dd049300cb9eed10a7d0952fac77066bbcb3 TBR: solanes@chromium.org Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2400341 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#69766}
-
Zhao Jiazhong authored
Port 3d40ec8d https://crrev.com/c/2349297 Change-Id: If362e7592ee81e1e428c4757c3ca03768ad366b4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2398767Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Cr-Commit-Position: refs/heads/master@{#69765}
-
Martin Bidlingmaier authored
Follow up to 3f4f4a0d: "[regexp] Handle zero-length matches in experimental engine". We want to assert an equivalence, not an implication in the boring direction. Bug: v8:10765 Change-Id: Ia7b4851feb1f5f621d687779d0cae0e28433f00e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2398536Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Martin Bidlingmaier <mbid@google.com> Cr-Commit-Position: refs/heads/master@{#69764}
-
Sathya Gunasekaran authored
This reverts commit 81577a79. Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20-%20shared/10544 Original change's description: > [serializer] Change deferring to use forward refs > > Now that we have forward references, we can replace the body deferring > mechanism with forward references to the entire pointer. > > This ensures that objects are always deserialized with their contents > (aside from themselves maybe holding forward refs), and as a result we > can simplify the CanBeDeferred conditions which encode the constraint > that some objects either need immediately have contents, or cannot be > deferred because their fields are changed temporarily (e.g. backing > store refs). > > This also means that objects with length fields (e.g. arrays) will > always have those length fields deserialized when the object is > deserialized, which was not the case when the body could be deferred. > This helps us in the plan to make GC possible during deserialization. > > Bug: v8:10815 > Change-Id: Ib0e5399b9de6027765691e8cb47410a2ccc15485 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2390643 > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69760} TBR=jgruber@chromium.org,leszeks@chromium.org Change-Id: I7a93a59217a2b38e2157c0f7ffc7ac648590a8d6 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10815 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2398535Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#69763}
-
Sathya Gunasekaran authored
This reverts commit 1c7618ab. Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20-%20shared/10544 Original change's description: > [serializer] Remove new space > > The new space is unused in the snapshot, as we convert all new objects > to old space objects when serializing. This means we can get rid of > the snapshot new space entirely, and as a result get rid of the write > barrier checks. > > This also rejiggles the order of the general spaces enum so that the new > spaces are at the end, and can be truncated off for the SnapshotSpace > enum. > > As a drive by, fix a bug in an unrelated test-api test which this patch > exposed. > > Change-Id: If67ff8be5bf03104a3ffae7df707c22460bba3a1 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2390762 > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69761} TBR=jgruber@chromium.org,leszeks@chromium.org,dinfuehr@chromium.org Change-Id: Iaf2362d8cd3a17d8410030aca0dd2250c5a0a7af No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2398533Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#69762}
-
Leszek Swirski authored
The new space is unused in the snapshot, as we convert all new objects to old space objects when serializing. This means we can get rid of the snapshot new space entirely, and as a result get rid of the write barrier checks. This also rejiggles the order of the general spaces enum so that the new spaces are at the end, and can be truncated off for the SnapshotSpace enum. As a drive by, fix a bug in an unrelated test-api test which this patch exposed. Change-Id: If67ff8be5bf03104a3ffae7df707c22460bba3a1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2390762 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#69761}
-