- 15 May, 2019 40 commits
-
-
Johannes Henkel authored
The main change here is that in isolate-data.h, I'm switching from stateJSON to state. This routine returns a CBOR encoded state cookie, which is also what we already use in Chromium (blink). In inspector-test.cc, I then put this byte vector into a V8 String, and to make this roundtrip, change the extraction routine to get the bytes. It's a little weird to store arbitrary bytes inside a v8 string, but it appears to work fine because these bytes end up in the 8 bit portion, much like isolatin characters would. Change-Id: I72a0bdefd85a290f4e91db79be67d86952831685 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1610478Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Alexei Filippov <alph@chromium.org> Commit-Queue: Johannes Henkel <johannes@chromium.org> Cr-Commit-Position: refs/heads/master@{#61544}
-
Maya Lekova authored
NOTRY=true Bug: v8:9257 Change-Id: I4713fd90c2a8b544def09d7305fe84d789ed60c4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613250 Auto-Submit: Maya Lekova <mslekova@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#61543}
-
Mike Stanton authored
R=ishell@chromium.org Bug: v8:7703 Change-Id: Iba0ad7d6c6e9c772fc9d9bc081b0c2bf31e23565 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613249Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#61542}
-
Michael Lippautz authored
Bug: v8:9247 Change-Id: Idb67869f3562e8afc7a744a939402db82bdb1bbd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611806 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61541}
-
Clemens Hammacher authored
All macros defined in "format-macros.h" are dead now (after https://crrev.com/c/1613243). This CL removes this header, and includes <cinttypes> instead wherever we use format macros for the types defined in <cstdint>. Plus some drive-by cleanup of includes. R=mlippautz@chromium.org Bug: v8:9183 Change-Id: Ic379759b79edb50e38833defb1577cc3af7c8150 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611800 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#61540}
-
Toon Verwaest authored
Internalizing is useful if we expect the string to reoccur many times. Internalizing too long strings will cost due to hashing, and the resulting strings will be kept alive for longer. Drop the limit to 10 to be more conservative. Change-Id: I2ac2109ca03ab05dbc5c01d4efe6f912b12f65b7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611805 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#61539}
-
Toon Verwaest authored
Use feedback from adjecent array elements to speed up object creation. Change-Id: Ib5c1b07cc63afb1a4b0cf194144a0ecd31139cb6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1612898 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#61538}
-
Simon Zünd authored
This CL adds a check and a more descriptive error message when no "map" is passed when constructing an extern class: extern class Foo extends HeapObject {...} const f = new Foo {}; R=sigurds@chromium.org Bug: v8:7793 Change-Id: I0dfa6d5976e98d572bafcf7a87f701ea97cd6a73 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611804 Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#61537}
-
Clemens Hammacher authored
The 'z' length modifier for {size_t} in format strings was introduced with C99, hence it is available in all environments we support. R=jgruber@chromium.org, mlippautz@chromium.org Bug: v8:9183 Change-Id: I1bc2abec3f9c7b38186128202fef4719853de7d4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613243Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61536}
-
Nico Hartmann authored
Add torque implementation of GetDerivedMap Bug: v8:9240 Change-Id: I9f2203f5c79fad84f67894c9cbaf28e6f7685f58 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1609804 Commit-Queue: Nico Hartmann <nicohartmann@google.com> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#61535}
-
Simon Zünd authored
This CL adds support for all kinds of Types to "textDocument/symbol" requests. While LSP has support for classes and structs, it does not have support for generic types. Only classes are marked as such, while all other types are marked as structs in terms of the LSP. Special care has to be taken with TypeAliases. Generic call sites introduce a new scope (similar to namespace scopes), where new TypeAliases are created for Generic type arguments. These TypeAliases then point to the specialized type inside this call-site specific scope. To omit the specialized TypeAliaes from the symbols list, they are marked using the "is_user_defined" flag. R=sigurds@chromium.org Bug: v8:8880 Change-Id: I576d1c677a5255d54f7774aa053f431608a4cd0c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613240 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Auto-Submit: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#61534}
-
Toon Verwaest authored
This avoids the need to throw range errors when we run out of stack, limiting us only by available memory. The main parser loop is implemented by two subloops. The first subloop finishes whenever it generates primitive values, empty arrays, or empty objects. If a non-empty object or array is started, the loop continues to parse its first member. The second subloop consumes produced values and either adds them to the parent array or object, or returns it. The second loop finishes whenever a next value needs to be produced. When the loop itself produces a finished array or object, the loop continues. Exceptions are handled by moving the cursor to end-of-input. Upon end-of-input, the first loop sets the continuation to "kFail". That causes the second loop to tear down continuation stack and related handle scopes, resulting in an empty handle. The CL additionally buffers all named properties and elements so we can immediately allocate a correctly shaped object. For object elements we'll take flat array or dictionary encoding depending on what is more efficient. This means that element handles are now allocated in their parent HandleScope, rather than having local handlescopes per-property (of big objects); which is why I've adjusted the handle-count test to not allocate as many properties. In the future it would be nice to not have to allocate (as many) handles since almost everything in the JSON graph will survive JSON parsing... Bug: chromium:710383 Change-Id: Ia3a7fd0ac260fb1c0e5f929276792b2f8e5fc0ca Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1609802Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#61533}
-
Yang Guo authored
R=bmeurer@chromium.org, ishell@chromium.org, jshin@chromium.org, ulan@chromium.org Bug: v8:9247 Change-Id: I67b591b613dd066f441e63fd61952728f4036636 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613247Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61532}
-
Yang Guo authored
Bug: v8:9247 Change-Id: I404e34a013b95c6a7cf03dd9ec0732d9ad796bdc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613238 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#61531}
-
Clemens Hammacher authored
This is a reland of 200a594a. The failing DCHECK was wrong, which is fixed now. Original change's description: > [wasm][gc] Reenable discarding system pages > > On windows, the range to be discarded needs to be split by the > reservations, analogous to committing. This CL reuses the same logic, > and reenables discarding pages on all platforms. > > R=mstarzinger@chromium.org > > Bug: v8:8217 > Change-Id: I11716d6381f765bdfe4cf48502b5cdc1f42cf8ab > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611682 > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61526} Bug: v8:8217 No-Try: true Change-Id: I293c638a5bc4678591a9c02704770ab54af39bdb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613248 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61530}
-
Nico Hartmann authored
Bug: v8:8880 Change-Id: I5bd99ca56dfafa71718b12078224bdc90bcfed14 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613246 Commit-Queue: Nico Hartmann <nicohartmann@google.com> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#61529}
-
Michael Starzinger authored
R=ahaas@chromium.org BUG=v8:9183 Change-Id: Id8fbe12e6972ba22ee3974ec5bbbcfc1d4cb7458 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1612906 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#61528}
-
Clemens Hammacher authored
This reverts commit 200a594a. Reason for revert: Fails on windows: https://ci.chromium.org/p/v8/builders/ci/V8%20Win32%20-%20debug/20310 Original change's description: > [wasm][gc] Reenable discarding system pages > > On windows, the range to be discarded needs to be split by the > reservations, analogous to committing. This CL reuses the same logic, > and reenables discarding pages on all platforms. > > R=mstarzinger@chromium.org > > Bug: v8:8217 > Change-Id: I11716d6381f765bdfe4cf48502b5cdc1f42cf8ab > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611682 > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61526} TBR=mstarzinger@chromium.org,clemensh@chromium.org Change-Id: I35bfbec222c4ba9e7b5990c02d004f7247b28131 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8217 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611802Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61527}
-
Clemens Hammacher authored
On windows, the range to be discarded needs to be split by the reservations, analogous to committing. This CL reuses the same logic, and reenables discarding pages on all platforms. R=mstarzinger@chromium.org Bug: v8:8217 Change-Id: I11716d6381f765bdfe4cf48502b5cdc1f42cf8ab Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611682 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61526}
-
Yang Guo authored
Bug: v8:9247 Change-Id: I4d2a1f6442b5c187a462f855e4655d9429021d22 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1612908Reviewed-by: Daniel Clifford <danno@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61525}
-
Yang Guo authored
R=hablich@chromium.org, mathias@chromium.org Bug: v8:9247 Change-Id: I3db662986dd36d4b29c6bd485b911ebf377e7533 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613237Reviewed-by: Michael Hablich <hablich@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61524}
-
Clemens Hammacher authored
On windows, when changing permissions for a range of pages, or committing or discarding a range of pages, we need to split that range by the reservations and potentially execute several system calls. This logic is currently implemented for committing memory. This CL extracts this to a helper function such that we can reuse this for discarding a range of pages. R=mstarzinger@chromium.org Bug: v8:8217 Change-Id: I65673eebe28362975f0165905d20b97ef7947f56 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611544 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61523}
-
Tobias Tebbi authored
With very few exceptions, this verifies all skipped write-barriers in CSA and Torque, showing that the MemoryOptimizer together with some type information on the stored value are enough to avoid unsafe skipped write-barriers. Changes to CSA: SKIP_WRITE_BARRIER and Store*NoWriteBarrier are verified by the MemoryOptimizer by default. Type information about the stored values (TNode<Smi>) is exploited to safely skip write barriers for stored Smi values. In some cases, the code is re-structured to make it easier to consume for the MemoryOptimizer (manual branch and load elimination). Changes to the MemoryOptimizer: Improve the MemoryOptimizer to remove write barriers: - When the store happens to a CSA-generated InnerAllocate, by ignoring Bitcasts and additions. - When the stored value is the HeapConstant of an immortal immovable root. - When the stored value is a SmiConstant (recognized by BitcastToTaggedSigned). - Fast C-calls are treated as non-allocating. - Runtime calls can be white-listed as non-allocating. Remaining missing cases: - C++-style iterator loops with inner pointers. - Inner allocates that are reloaded from a field where they were just stored (for example an elements backing store). Load elimination would fix that. - Safe stored value types that cannot be expressed in CSA (e.g., Smi|Hole). We could handle that in Torque. - Double-aligned allocations, which are not lowered in the MemoryOptimizer but in CSA. Drive-by change: Avoid Smi suffix for StoreFixedArrayElement since this can be handled by overload resolution (in Torque and C++). Reland Change: Support pointer compression operands. R=jarin@chromium.org TBR=mvstanton@chromium.org Bug: v8:7793 Change-Id: I84e1831eb6bf9be14f36db3f8b485ee4fab6b22e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1612904 Auto-Submit: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#61522}
-
Benedikt Meurer authored
In the case of LoadElement in EscapeAnalysis we accidentally always set the object as escaping, even in the case where the index was a constant (or had a constant type). This forced us to always allocate array backing stores even in the trivial cases like swapping, i.e. ```js function foo(a, b) { [a, b] = [b, a]; return a - b; } ``` Now with this change we do proper scalar replacement again, even for the array backing stores. Bug: v8:9183 Change-Id: I3b2dcade23e47df032087778aca1292c8b0d69d4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1612907Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#61521}
-
Simon Zünd authored
Mechanical change with the exception of one threaded test, that had to be turned into a normal test to turn green. R=jgruber@chromium.org Bug: v8:9183 Change-Id: Ie7c3350415e21f93e8161a3c844cbe165ecd7da5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1612899 Commit-Queue: Simon Zünd <szuend@chromium.org> Auto-Submit: Simon Zünd <szuend@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#61520}
-
Santiago Aboy Solanes authored
Bug: v8:9183 Change-Id: Idb1910ae30984f548996651e8b2f153531b8cdb0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1605729Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#61519}
-
Yang Guo authored
R=tmrts@chromium.org Bug: v8:9247 Change-Id: I9b34ee96e03d3cbca165452fc8427679cf6e7582 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1612900 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Cr-Commit-Position: refs/heads/master@{#61518}
-
Yang Guo authored
R=petermarshall@chromium.org Bug: v8:9247 Change-Id: Ia78904788bf7523b1ec5aa0494c79d71ee121030 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1609847Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61517}
-
Yang Guo authored
R=jgruber@chromium.org BUG: v8:9253 Change-Id: Ifde76a8f2beb581ac4040deeaae3504e599ab4f9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1612903 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#61516}
-
Ulan Degenbaev authored
Currently the initial old generation size is set to the half of the maximum old generation size. This is problematic for huge heaps. This patch introduces an upper bound of 512MB (256MB) for x64 (x32). Bug: chromium:961272 Change-Id: If4a6b839ebe688e5b0bc41749ac34f7a31849e21 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1605731 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#61515}
-
Maciej Goszczycki authored
Bug: v8:7464 Change-Id: I50de5f19f3303625a492faad5da378e2f0d3ed3f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1602699Reviewed-by: Dan Elphick <delphick@chromium.org> Commit-Queue: Maciej Goszczycki <goszczycki@google.com> Cr-Commit-Position: refs/heads/master@{#61514}
-
Mythri A authored
We used to set disable optimization bits in SFI to NeverOptimize in lite mode to avoid optimizing in tests. Now, tests that need optimization use intrinsics to force feedback vector allocation. Hence this is no longer necessary. Bug: v8:8394 Change-Id: I0aeaeacc34d838cf15698a9227b6964292b97240 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611545Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#61513}
-
Igor Sheludko authored
Also remove unused Factory::CopyFeedbackVector(). Bug: v8:7703 Change-Id: I75e16a55967e5970e4cbe3babae3a09d2a647313 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611542Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#61512}
-
Jakob Kummerow authored
We don't need the full "types" array, just the number of parameters and the type of the result. Avoiding unnecessary malloc/free calls significantly cuts down on overhead. Change-Id: I738f0ee4c269731cf1ff79a56f910e8f7e97c83e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1601505 Commit-Queue: Yang Guo <yangguo@chromium.org> Auto-Submit: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61511}
-
Michael Starzinger authored
This makes sure the interpreter clears any stale references from the reference stack when they are popped/dropped. Otherwise stale values would unnecessarily increase lifetime of operand stack slots. R=ahaas@chromium.org BUG=v8:7581 Change-Id: I6b8be56a815327229a66ea0c97b3646ac64f6461 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1612905Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61510}
-
Mythri A authored
Tests that expect type feedback vector ensure it by using %EnsureFeedbackVector intrinsic. These tests now work with lazy feedback allocation as well. Hence it is no longer required to initialize the shared function info with a special bailout id. Bug: v8:8394 Change-Id: Iba2f94be7e5651b4faeb8b3bf604d17fb4b146ef Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1609542Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#61509}
-
Benedikt Meurer authored
Previously we had to use CheckHeapObject in front of every CheckMaps, CompareMaps and TransitionElementsKind operation. Now these operators request HeapObject representation themselves (requiring for CompareMaps and TransitionElementsKind to remove the kNoDeopt property). This means we only do CheckHeapObject for StoreField to a field that has HeapObject representation. This not only leads to smaller graphs in the compiler, but also removes most uses of the CheckHeapObject operator, which doesn't express a real semantic property in the compiler frontend. Bug: v8:9183, v8:9250 Refs: nodejs/node#27667 Change-Id: Ie3d83de69583b1bed6c1c53444bfc97aaef624bb Cq-Include-Trybots: luci.chromium.try:linux-rel,win7-rel Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1612902Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#61508}
-
Nico Hartmann authored
Bug: v8:9240 Change-Id: I704e0932b00baf84c4203baa8336809b250855d9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611681 Commit-Queue: Nico Hartmann <nicohartmann@google.com> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#61507}
-
Georg Schmid authored
Change-Id: I28f2c87ffae32d16bcfb7cb17ec6e607e7fa2285 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1599172 Commit-Queue: Georg Schmid <gsps@google.com> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#61506}
-
Clemens Hammacher authored
The histograms currently mostly contain very small modules (having 0 MB generated and 0 MB freed). Many of those are asm.js modules. Just recording the modules that are actually interesting for wasm code GC will give us more meaningful data. R=mstarzinger@chromium.org Bug: v8:8217 Change-Id: I1d9ba8134c2f3617f896afc42dc9e87c7852c319 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611679Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61505}
-