- 04 Sep, 2019 1 commit
-
-
Clemens Hammacher authored
The "address" pointer we pass to {Allocate} and {AllocatePages} functions is actually just a hint. The actual address of the reservation is returned by the function. This CL renames the {address} argument of those functions to {hint} to make this semantic more clear. R=mlippautz@chromium.org Bug: v8:9396 Change-Id: I9ff3785ea4e6f9b7d77f26f224445f3f92e11f22 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1784280Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#63549}
-
- 06 Aug, 2019 1 commit
-
-
Clemens Hammacher authored
This is a reland of a3218aa7. Unmodified reland, thus TBR. Original change's description: > [wasm] Add support to allocate in a specific code region > > For multiple code spaces with multiple jump tables, we need to allocate > the space for the jump tables within specific regions (the new code > spaces) so they are within reachable distance. > This CL adds support for that, and uses it for the first jump table. > > R=mstarzinger@chromium.org > > Bug: v8:9477 > Change-Id: Ibdf05c9500c2dfdb2c5f5f920b4422339aaab810 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1733069 > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63074} TBR=mstarzinger@chromium.org Bug: v8:9477 Change-Id: Ic110705fa13edeb103c06ad579a61cba78b6890c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1738848Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#63089}
-
- 05 Aug, 2019 2 commits
-
-
Leszek Swirski authored
This reverts commit a3218aa7. Reason for revert: Needed for another revert (https://chromium-review.googlesource.com/c/v8/v8/+/1735320) Original change's description: > [wasm] Add support to allocate in a specific code region > > For multiple code spaces with multiple jump tables, we need to allocate > the space for the jump tables within specific regions (the new code > spaces) so they are within reachable distance. > This CL adds support for that, and uses it for the first jump table. > > R=mstarzinger@chromium.org > > Bug: v8:9477 > Change-Id: Ibdf05c9500c2dfdb2c5f5f920b4422339aaab810 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1733069 > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63074} TBR=mstarzinger@chromium.org,clemensh@chromium.org Change-Id: I4b1d1e670d5b25fa40205754d9572b2b809c93ea No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9477 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1735321Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#63075}
-
Clemens Hammacher authored
For multiple code spaces with multiple jump tables, we need to allocate the space for the jump tables within specific regions (the new code spaces) so they are within reachable distance. This CL adds support for that, and uses it for the first jump table. R=mstarzinger@chromium.org Bug: v8:9477 Change-Id: Ibdf05c9500c2dfdb2c5f5f920b4422339aaab810 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1733069 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#63074}
-
- 30 Jul, 2019 1 commit
-
-
Ben L. Titzer authored
This is a reland of a0728e86 Original change's description: > [d8] Remove maximum workers limitation > > This CL refactors the lifetime management of the v8::Worker C++ object > and in the process lifts the 100 maximum worker limitation. To do this, > it uses a Managed<v8::Worker> heap object and attaches the managed to > the API worker object. > > R=mstarzinger@chromium.org > BUG=v8:9524 > > Change-Id: I279b7aeb6645a87f9108ee6f572105739721cef4 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1715453 > Commit-Queue: Ben Titzer <titzer@chromium.org> > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62932} Bug: v8:9524 Change-Id: I7d903fb12ddb00909a9429455f46c55db2fd02de Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1722562Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#62974}
-
- 29 Jul, 2019 1 commit
-
-
Jakob Gruber authored
Prior to this CL, the regexp fast path check is stricter than it needs to be. For example, adding any arbitrary property on the regexp prototype would move the execution of all regexp builtins in the same context onto the slow path. This actually happens in the real world: popular web frameworks commonly monkey-patch builtin prototypes to add functionality. The intent of this CL is to widen the fast path for regexp builtins s.t. modifications of the prototype that do not conflict with our requirements stay on the fast path. This is done by extending the current fast path check with an additional step. If checking the prototype map identity or relevant prototype property constness fails, we now compare the actual value of all relevant properties against the expected value. If these match, the prototype can be considered fast. The new step as described in the previous paragraph is part of the permissive fast path check (BranchIfFastRegExp_Permissive). The strict variant (BranchIfFastRegExp_Strict) is also still required by a few spots. We should refactor these to also allow the permissive check in follow-up work. Bug: v8:5577,chromium:977382 Change-Id: I69b2244e68ccfbd00edf17fc326aa4b5f5d089fa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1706056 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#62948}
-
- 26 Jul, 2019 3 commits
-
-
Maya Lekova authored
This reverts commit a0728e86. Reason for revert: Times out on Windows & debug builds - https://ci.chromium.org/p/v8/builders/ci/V8%20Win32%20-%20nosnap%20-%20shared/34484 Original change's description: > [d8] Remove maximum workers limitation > > This CL refactors the lifetime management of the v8::Worker C++ object > and in the process lifts the 100 maximum worker limitation. To do this, > it uses a Managed<v8::Worker> heap object and attaches the managed to > the API worker object. > > R=mstarzinger@chromium.org > BUG=v8:9524 > > Change-Id: I279b7aeb6645a87f9108ee6f572105739721cef4 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1715453 > Commit-Queue: Ben Titzer <titzer@chromium.org> > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62932} TBR=mstarzinger@chromium.org,titzer@chromium.org,clemensh@chromium.org Change-Id: I3a27937cba13b5413390f49268a107c184515153 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9524 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1720590Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#62937}
-
David Carlier authored
using file descriptor's free approach instead. Change-Id: I9baa3d471b4ed6f624985a5b6325648ef7875596 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1710665Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#62933}
-
Ben L. Titzer authored
This CL refactors the lifetime management of the v8::Worker C++ object and in the process lifts the 100 maximum worker limitation. To do this, it uses a Managed<v8::Worker> heap object and attaches the managed to the API worker object. R=mstarzinger@chromium.org BUG=v8:9524 Change-Id: I279b7aeb6645a87f9108ee6f572105739721cef4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1715453 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#62932}
-
- 16 Jul, 2019 2 commits
-
-
zhiguo authored
This CL adds the support for Base64 VLQ decoding, which is the base of parsing source map files (Version 3). With this support, the mappings of C/C++ source code and WASM bytecode could be built in V8 engine. The newly-added function is called VLQBase64Decode, which accepts two character to be decoded. Upon its return, the position is updated with the next start position. The unittest of this support is also added in this CL. argument: the Base64-encoded VLQ string and the position of first Change-Id: If0f32972ecd7488844478a7b93a0f10cc38b6a5d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1657421Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Zhiguo Zhou <zhiguo.zhou@intel.com> Cr-Commit-Position: refs/heads/master@{#62748}
-
Shawn Presser authored
iOS uses 16kb memory pages. This change modifies OS::GetRandomMmapAddr() to return a 16kb-aligned address on apple ARM64. The mrs instruction is invalid on iOS. This change modifies CacheLineSizes::CacheLineSizes() so that mrs is not executed. Change-Id: I13fcc8498e715c03432c7a652ee723660f746069 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1701127Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#62730}
-
- 08 Jul, 2019 2 commits
-
-
Clemens Hammacher authored
This fixes the only violation of the 'runtime/references' warning in src/base by using a forwarding reference. R=mlippautz@chromium.org Bug: v8:9429, v8:9396 Change-Id: Ide2d28ab647e1cec78979c3f6d664b53c92a7d6e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1690839 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#62564}
-
Clemens Hammacher authored
Cpplint usually checks for non-const reference arguments. They are forbidden in the style guide, and v8 does not explicitly make an exception here. This CL re-enables that warning, and fixes all current violations by adding an explicit "NOLINT(runtime/references)" comment. In follow-up CLs, we should aim to remove as many of them as possible. TBR=mlippautz@chromium.org Bug: v8:9429 Change-Id: If7054d0b366138b731972ed5d4e304b5ac8423bb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1687891Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#62551}
-
- 01 Jul, 2019 1 commit
-
-
Clemens Hammacher authored
Avoid inlining the {SmallVector::Grow} function, as it is rarely used. This reduces binary size, since {emplace_back} is called a lot, and often {emplace_back} itself is inlined. As another minor tweak the {Grow} function now returns the new end of the used storage, to reduce binary size in {emplace_back} even more. Also, there is a separate version without argument. R=mlippautz@chromium.org Change-Id: If25f976649fee3f585b9a2cf6bdfe00fdb77af0b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1683995Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#62467}
-
- 25 Jun, 2019 1 commit
-
-
Fabrice de Gans-Riberi authored
The call was renamed in Fuchsia, the transitional *_new variant is going to be removed soon. Bug: chromium:977753 Change-Id: I3734cc36a15635dce4dc00d07917879761dec0f5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1676610 Commit-Queue: Fabrice de Gans-Riberi <fdegans@chromium.org> Commit-Queue: Wez <wez@chromium.org> Auto-Submit: Fabrice de Gans-Riberi <fdegans@chromium.org> Reviewed-by:
Wez <wez@chromium.org> Cr-Commit-Position: refs/heads/master@{#62365}
-
- 21 Jun, 2019 1 commit
-
-
Sigurd Schneider authored
v8memory.h does not have V8 specific definitions, and having it in base makes it clear that every component may include the file. It also ensures that including it does not create spurious dependencies on v8_base. Change-Id: I565f63b25f33a9ada19d7b2ac5990863ab17f4a7 Bug: v8:9183, v8:8855 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1657923 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#62309}
-
- 18 Jun, 2019 1 commit
-
-
Jakob Gruber authored
This class used to be based on DispatchTable, which itself uses an interval tree to both categorize and canonicalize ranges (i.e. such that no overlap and all immediately adjacent ranges are merged). The produced ranges were then entered into lists for {bmp,lead_surrogate,trail_surrogate,non_bmp} splits. With this CL, we simplify to a plain loop over all character range kinds instead. The dispatch table (and ZoneSplayList, perhaps SplayList) can be removed in follow-ups. Bug: v8:9359 Change-Id: I9c6b72f3bc44d1557af7c74419709ae5662611f1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1664053 Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#62260}
-
- 13 Jun, 2019 1 commit
-
-
Fabrice de Gans-Riberi authored
Zircon VMOs are now created non-resizeable by default. This family of flags is now a no-op and they will soon be removed. Bug: chromium:973981 Change-Id: I99b5a18b9744e32ebb3f33f1a848ee9b5c51eb0d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1659568 Commit-Queue: Fabrice de Gans-Riberi <fdegans@chromium.org> Commit-Queue: Wez <wez@chromium.org> Auto-Submit: Fabrice de Gans-Riberi <fdegans@chromium.org> Reviewed-by:
Wez <wez@chromium.org> Cr-Commit-Position: refs/heads/master@{#62159}
-
- 06 Jun, 2019 1 commit
-
-
Jakob Gruber authored
Ideally, in the common case the backtracking stack should be stack-allocated (and thus cheap). We should only switch to dynamic allocation if needed. SmallVector implements exactly this strategy, so switch to that as a backing store. This improves Octane/RegExp scores (--regexp-interpret-all) by 50%. Bug: v8:7777,v8:9330 Change-Id: I0d1b07bd8fd94483128e021390d054f483076f8d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1645318 Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#62013}
-
- 03 Jun, 2019 1 commit
-
-
Yang Guo authored
R=rmcilroy@chromium.org NOPRESUBMIT=true Bug: v8:9247 Change-Id: I355ac92c323ab34e1898c0764856ebadc3357dcc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1635691 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#61960}
-
- 31 May, 2019 1 commit
-
-
Maciej Goszczycki authored
Without this, asan (rightfully) complains about read-only space leaking. Because pages are manually allocated using mmap, a few objects within them need to be explicitly ignored in addition to the read-only heap itself. This change re-adds lsan.h, with tweaks to make the type checking a bit more lenient. Bug: v8:7464 Change-Id: I0e2809930f3674e3f891e755b568ebb5194da461 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1622121Reviewed-by:
Dan Elphick <delphick@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Maciej Goszczycki <goszczycki@google.com> Cr-Commit-Position: refs/heads/master@{#61942}
-
- 27 May, 2019 1 commit
-
-
Clemens Hammacher authored
This replaces all typedefs that define types and not functions by the equivalent "using" declaration. This was done mostly automatically using this command: ag -l '\btypedef\b' src test | xargs -L1 \ perl -i -p0e 's/typedef ([^*;{}]+) (\w+);/using \2 = \1;/sg' Patchset 2 then adds some manual changes for typedefs for pointer types, where the regular expression did not match. R=mstarzinger@chromium.org TBR=yangguo@chromium.org, jarin@chromium.org Bug: v8:9183 Change-Id: I6f6ee28d1793b7ac34a58f980b94babc21874b78 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1631409 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61849}
-
- 23 May, 2019 2 commits
-
-
Ross McIlroy authored
On Android, we mmap the .so directly from the APK, therefore the file offset in this case refers to the offset of the .so in the APK, not the offset in the .so file itself. As such, moving the start position of the library based on this gives incorrect results when later symbolizing the addresses based on the .so. TBR=ulan@chromium.org Change-Id: I16f78c91106dc85334a8b0034c96b19442af7b05 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1627545Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#61803}
-
Georg Neis authored
When encountering uninitialized feedback, mark the environment as dead such that we skip over the following bytecodes. Start full processing again when we reach a bytecode that is either a jump target or an exception handler entry. For now, don't support this optimization when compiling for OSR. Bug: v8:7790 Change-Id: I8177b7fa31ea43d205a2708310b0b0e67302001e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1621930 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#61781}
-
- 21 May, 2019 3 commits
-
-
Fabrice de Gans-Riberi authored
This is a reland of 748de1e5 Original change's description: > [fuchsia] Replace zx_clock_get() with zx_clock_get_new(). > > zx_clock_get() signature is being replaced to report errors. > As part of a soft transition, zx_clock_get_new() is introduced with > the final function signature. > > Bug: chromium:963956 > Change-Id: Ia6d0f4fc560bd9149683011099b064540b54edd6 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1616545 > Commit-Queue: Fabrice de Gans-Riberi <fdegans@chromium.org> > Reviewed-by: Wez <wez@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61591} Bug: chromium:963956 Change-Id: I555df23d448fa246e4edec36b349a3c0aaad66ca Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1617805 Commit-Queue: Fabrice de Gans-Riberi <fdegans@chromium.org> Reviewed-by:
Wez <wez@chromium.org> Cr-Commit-Position: refs/heads/master@{#61714}
-
Yang Guo authored
TBR=hpayer@chromium.org NOPRESUBMIT=true Bug: v8:9247 Change-Id: I3d49c1c748fe5109523d4cd122ba925f20cfc60b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1619755Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61685}
-
Yang Guo authored
Bug: v8:9247 TBR=bmeurer@chromium.org,neis@chromium.org NOPRESUBMIT=true Change-Id: Ia1e49d1aac09c4ff9e05d58fab9d08dd71198878 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1621931Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61682}
-
- 17 May, 2019 2 commits
-
-
Clemens Hammacher authored
This reverts commit 748de1e5. Reason for revert: Fails compilation (unused variable): https://ci.chromium.org/p/v8/builders/ci/V8%20Fuchsia/10879 Original change's description: > [fuchsia] Replace zx_clock_get() with zx_clock_get_new(). > > zx_clock_get() signature is being replaced to report errors. > As part of a soft transition, zx_clock_get_new() is introduced with > the final function signature. > > Bug: chromium:963956 > Change-Id: Ia6d0f4fc560bd9149683011099b064540b54edd6 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1616545 > Commit-Queue: Fabrice de Gans-Riberi <fdegans@chromium.org> > Reviewed-by: Wez <wez@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61591} TBR=wez@chromium.org,fdegans@chromium.org Change-Id: I14a97f6510f6fbd6b3698a3549def8feb128f0ff No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:963956 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1617241Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61593}
-
Fabrice de Gans-Riberi authored
zx_clock_get() signature is being replaced to report errors. As part of a soft transition, zx_clock_get_new() is introduced with the final function signature. Bug: chromium:963956 Change-Id: Ia6d0f4fc560bd9149683011099b064540b54edd6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1616545 Commit-Queue: Fabrice de Gans-Riberi <fdegans@chromium.org> Reviewed-by:
Wez <wez@chromium.org> Cr-Commit-Position: refs/heads/master@{#61591}
-
- 15 May, 2019 4 commits
-
-
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}
-
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}
-
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}
-
- 13 May, 2019 1 commit
-
-
Peter Marshall authored
The FATAL macro (without arguments) is used by some other libraries e.g. protobuf and this causes conflicts. We only declared FATAL() previously, so go back to that behavior by declaring arguments for FATAL every time we define it. Change-Id: Ia4c280fd7a1f27c2031de2fb691d60083f361a9a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1607649 Auto-Submit: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61440}
-
- 10 May, 2019 1 commit
-
-
Andrew Grieve authored
FATAL() calls with more than one argument are preserved. The rest of chrome does this as well. Stack traces and minidumps should be sufficient for analyzing the reason for crashes. This saves 110kb for Android arm32. Bug: chromium:958807 Change-Id: I88a1ec82f1ed7bd5e7dbccf6d645d5584f16de82 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1598159 Commit-Queue: Andrew Grieve <agrieve@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#61426}
-
- 06 May, 2019 1 commit
-
-
Ben L. Titzer authored
R=jarin@chromium.org Change-Id: I47b506599ae338e8323ef0def63db3b2004ac798 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1594562Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#61242}
-
- 30 Apr, 2019 1 commit
-
-
Michael Starzinger authored
Change-Id: Ifbf1b49d7caad9b050945b07065ee5ecb9d9f9e4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1588470Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61119}
-
- 09 Apr, 2019 1 commit
-
-
Anton Bikineev authored
This change aims to simplify RawMachineAssembler::CallCFunction interface by use of variadic templates. Change-Id: Ie7081f692f62674f891f09abfd7149e8d95eeb81 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1526015 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#60710}
-
- 04 Apr, 2019 1 commit
-
-
Clemens Hammacher authored
We only use the safe math helpers (CheckedNumeric<T>) in very few places. The headers are huge though, and complex. They are pulled in to 839 of our object files, increasing compilation time. I also find the implicit checks more easy to understand than the complex logic in CheckedNumeric. Thus, this CL removes the safe_math headers and implements bounds checks for the five uses explicitly. R=jkummerow@chromium.org, mlippautz@chromium.org Bug: v8:8834 Change-Id: I2d60f95799ee61cfa161354428605f67829cd736 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1547651Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#60630}
-
- 03 Apr, 2019 1 commit
-
-
Paolo Severini authored
This is a reland of 3cda21de Original change's description: > V8 x64 backend doesn't emit ABI compliant stack frames > > On 64 bit Windows, the OS stack walking does not work because the V8 x64 > backend doesn't emit unwinding info and also because it doesn't emit ABI > compliant stack frames. See > https://docs.google.com/document/d/1-wf50jFlii0c_Pr52lm2ZU-49m220nhYMrHDi3vXnh0/edit > for more details. > > This problem can be fixed by observing that V8 frames usually all have the same > prolog and epilog: > > push rbp, > mov rbp, rsp > ... > pop rbp > ret N > > and that it is possible to define XDATA (UNWIND_CODEs) that specify how Windows > should walk through V8 frames. Furthermore, since V8 Code objects are all > allocated in the same code-range for an Isolate, it is possible to register a > single PDATA/XDATA entry to cover stack walking for all the code generated > inside that code-range. > > This PR contains changes required to enable stack walking on Win64: > > EmbeddedFileWriter now adds assembler directives to the builtins > snapshot source file (embedded.cc) to emit additional entries in the .pdata and > in the .xdata section of the V8 executable. This takes care of stack walking > for embedded builtins. (The case of non-embedded builtins is not supported). > The x64 Assembler has been modified to collect the information required to emit > this unwind info for builtins. > > Stack walking for jitted code is handled is Isolate.cpp, by registering > dynamically PDATA/XDATA for the whole code-range address space every time a new > Isolate is initialized, and by unregistering them when the Isolate is > destroyed. > > Stack walking for WASM jitted code is handled is the same way in > wasm::NativeModule (wasm/wasm-code-manager.cpp). > > It is important to note that Crashpad and Breakpad are already registering > PDATA/XDATA to manage and report unhandled exceptions (but not for embedded > builtins). Since it is not possible to register multiple PDATA entries for the > same address range, a new function is added to the V8 API: > SetUnhandledExceptionCallback() can be used by an embedder to register its own > unhandled exception handler for exceptions that arise in v8-generated code. > V8 embedders should be modified accordingly (code for this is in a separate PR > in the Chromium repository: > https://chromium-review.googlesource.com/c/chromium/src/+/1474703). > > All these changes are experimental, behind: > > the 'v8_win64_unwinding_info' build flag, and > the '--win64-unwinding-info' runtime flag. > > Bug: v8:3598 > Change-Id: Iea455ab6d0e2bf1c556aa1cf870841d44ab6e4b1 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1469329 > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Commit-Queue: Paolo Severini <paolosev@microsoft.com> > Cr-Commit-Position: refs/heads/master@{#60330} Bug: v8:3598 Change-Id: If988baf7d3e4af165b919d6e54c1ad985f8e25e3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1534618Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Paolo Severini <paolosev@microsoft.com> Cr-Commit-Position: refs/heads/master@{#60581}
-