- 15 May, 2019 40 commits
-
-
Z Duong Nguyen-Huu authored
Bug: v8:8996 Change-Id: I712f7eea934581f8d0889889a8737548ef8fa255 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611752 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by: Simon Zünd <szuend@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Peter Wong <peter.wm.wong@gmail.com> Cr-Commit-Position: refs/heads/master@{#61558}
-
Yang Guo authored
R=bmeurer@chromium.org, clemensh@chromium.org, jkummerow@chromium.org, sigurds@chromium.org, ulan@chromium.org, verwaest@chromium.org Bug: v8:9247 Change-Id: I153a6bbfc55989fe7a86c052f95c5cb8ee61e841 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613244 Commit-Queue: Yang Guo <yangguo@chromium.org> Auto-Submit: Yang Guo <yangguo@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#61557}
-
Seth Brenith authored
This change adds a flag v8_enable_fast_torque, which follows the pattern of v8_enable_fast_mksnapshot and can improve build times by running an optimized Torque compiler during debug builds. On my machine, this change improves rebuild time after changing a .tq file by about 7 seconds. Change-Id: I7c91d1059c614fe34eefe7ee8c3cba7c931d5a50 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1612160 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#61556}
-
Yang Guo authored
R=danno@chromium.org Bug: v8:9247 Change-Id: I0541f68d4a285df0bdae4ef8b8ee7698f897c4ce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1612901 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#61555}
-
Deepti Gandluri authored
This reverts commit 91415227. Reason for revert: This fails on multiple bots, infra bug let this land - https://logs.chromium.org/logs/v8/buildbucket/cr-buildbucket.appspot.com/8913373605803837584/+/steps/build/0/steps/compile/0/logs/raw_io.output_failure_summary_/0 Original change's description: > Add test to show the crashing of TimeZone::AdoptDefault > > The ICU DEPS for chromium is landing in > https://chromium-review.googlesource.com/c/chromium/src/+/1607506 > > Bug: chromium:950851 > Change-Id: If16e82d70c319108ead06dd095b22ecda5408a6b > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1601370 > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Commit-Queue: Frank Tang <ftang@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61550} TBR=adamk@chromium.org,jkummerow@chromium.org,jshin@chromium.org,mathias@chromium.org,ftang@chromium.org Change-Id: I682119db77c569ad7b619375e54309a4ff530273 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:950851 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613697Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#61554}
-
Deepti Gandluri authored
This reverts commit 3e118baf. Reason for revert: Reverting as ftang@'s CL here will be reverted. https://chromium-review.googlesource.com/c/v8/v8/+/1601370, and this was a fix for a bad landing. Original change's description: > Update include path to date.h which was moved in the meanwhile > > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: chromium:950851 > Change-Id: Ia5e547e7cd7947f91814cb24de3dcf3b822905da > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611811 > Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> > Commit-Queue: Igor Sheludko <ishell@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61552} TBR=gdeepti@chromium.org,ishell@chromium.org Change-Id: Ibe1671b1973afae8db6180d3f5471763786bd23d No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:950851 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613637Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#61553}
-
Igor Sheludko authored
No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:950851 Change-Id: Ia5e547e7cd7947f91814cb24de3dcf3b822905da Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611811Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#61552}
-
Igor Sheludko authored
Somehow the "bad" CL managed to pass the CQ: https://chromium-review.googlesource.com/c/v8/v8/+/1484461 No-Presubmit: true No-Tree-Checks: true No-Try: true Change-Id: I86d78f75c3430d01c814948815c7b3501929a52a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611810Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#61551}
-
Frank Tang authored
The ICU DEPS for chromium is landing in https://chromium-review.googlesource.com/c/chromium/src/+/1607506 Bug: chromium:950851 Change-Id: If16e82d70c319108ead06dd095b22ecda5408a6b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1601370Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#61550}
-
Frank Tang authored
Bug: v8:9153 Change-Id: I48adc554736b19507da318a157ef2f23bf7cbd52 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1610216Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#61549}
-
Andrew Comminos authored
Permit individual calls to CpuProfiler::StartSampling to provide their own requested sampling interval, to be snapped to the profiler's sampling interval. Use the greatest common divisor of all sample rates to determine what sample rate should be chosen for the sampling thread, and dispatch samples to attached profilers based on their requested sample periodicity. Change-Id: I0b076d09761d7176f31725e112578b68ab5da54c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1484461Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Alexei Filippov <alph@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Andrew Comminos <acomminos@fb.com> Cr-Commit-Position: refs/heads/master@{#61548}
-
Toon Verwaest authored
Additionally pass WriteBarrierMode while building the object Change-Id: Ibc8ad592f822ee3b046406013cc36ae64f6b099b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613251Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#61547}
-
Z Duong Nguyen-Huu authored
Refactor CheckHasTrapResult as well. Spec: https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-hasproperty-p Bug: v8:6664 Change-Id: Iaa9c1cb46ab4f7c8139dfe1380b3ec807a4719ee Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1610215Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Cr-Commit-Position: refs/heads/master@{#61546}
-
Z Duong Nguyen-Huu authored
Bug: v8:6831 Change-Id: If3084304b4759f0c1a6e930d66a45f6c9d51eabd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1612166Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Cr-Commit-Position: refs/heads/master@{#61545}
-
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}
-