- 27 Feb, 2019 34 commits
-
-
Jakob Gruber authored
This is a reland of 71d29f78 Original change's description: > [nojit] Don't flush the icache in jitless mode > > We don't allocate executable memory in jitless mode hence there's no > need to flush the icache. > > Bug: v8:7777 > Change-Id: I70a1884e6c9f11405465f5741f2eccd4f7a273fb > Reviewed-on: https://chromium-review.googlesource.com/c/1488765 > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Sigurd Schneider <sigurds@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59887} Bug: v8:7777 Change-Id: Id48455cf4e6d28ad2a0b753580ca51cbe0e983d3 Reviewed-on: https://chromium-review.googlesource.com/c/1491601Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#59916}
-
Toon Verwaest authored
That way we don't need to internalize kValue property names on object literals (both STRING and identifier tokens). This speeds up object literal preparsing by quite a bit (15% on a microbenchmark; 7-8% on actual object literals looking like json from FB). Change-Id: I9d7baeb94f1a8e4f7e3b7cd6406a826ba37017f3 Reviewed-on: https://chromium-review.googlesource.com/c/1491605Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#59915}
-
Ross McIlroy authored
Bytecode flushing can make tests using assertOptimized flaky if the bytecode is flushed between marking and optimization. It can also be flaky if the feedback vector is collected before optimization. To prevent this, a new %PrepareForOptimization runtime-test function is added that hold onto the bytecode strongly until it is optimized after being explicitly marked for optimization by %OptimizeFunctionOnNextCall. BUG=v8:8801,v8:8395 Change-Id: Idbd962a3a2044b915903f9c5e92d1789942b5b41 Reviewed-on: https://chromium-review.googlesource.com/c/1463525 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#59914}
-
Clemens Hammacher authored
Instead of using our own atomic utils, use std::atomic. R=mstarzinger@chromium.org Bug: v8:8916, v8:8834 Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel Change-Id: I663d7f28dbaaa476a62407cf42dca1927c69f68b Reviewed-on: https://chromium-review.googlesource.com/c/1491631 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#59913}
-
Igor Sheludko authored
This CL also unifies CopyWords() and CopyBytes() implementations. Bug: v8:7703 Change-Id: I0b2e2f35c0c651e46231c4e4286c705634dce02b Reviewed-on: https://chromium-review.googlesource.com/c/1491602Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#59912}
-
Peter Marshall authored
This reverts commit 9215ac2c. Reason for revert: Turns out it fails on windows too: https://logs.chromium.org/logs/v8/buildbucket/cr-buildbucket.appspot.com/8920360960120786848/+/steps/Check_-_extra__flakes_/0/logs/SampleWhenFrameIsNotS../0 Original change's description: > [cpu-profiler] Disable failing tests on arm simulator only > > These tests still fail on arm simulators and don't appear easily fixable > but are low priority. Let's still run them on other build configs. > > Bug: v8:8917 > Change-Id: If0a2f44b746eff5e82eb750103304e788dfbbfb5 > Reviewed-on: https://chromium-review.googlesource.com/c/1491593 > Reviewed-by: Sigurd Schneider <sigurds@chromium.org> > Commit-Queue: Peter Marshall <petermarshall@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59903} TBR=sigurds@chromium.org,petermarshall@chromium.org Change-Id: Ic77791ddfd37e67307af6ec7b064e31e2db92039 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8917 Reviewed-on: https://chromium-review.googlesource.com/c/1491604Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#59911}
-
Georg Neis authored
This avoids having occurrences of both 0x000012345678 and 0x12345678 in the log. Change-Id: Id3603993362d1dd327aad567ef3448d00ce3a8fd Reviewed-on: https://chromium-review.googlesource.com/c/1491514Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#59910}
-
Igor Sheludko authored
Includes various fixes and cleanups here and there. Bug: v8:7703, v8:8852 Change-Id: I603eb0212cab3fecabfa15dceb70ee23b81cdb5a Reviewed-on: https://chromium-review.googlesource.com/c/1491595Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#59909}
-
Jakob Gruber authored
This reverts commit 71d29f78. Reason for revert: Needs test skips https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Arm/9744 Original change's description: > [nojit] Don't flush the icache in jitless mode > > We don't allocate executable memory in jitless mode hence there's no > need to flush the icache. > > Bug: v8:7777 > Change-Id: I70a1884e6c9f11405465f5741f2eccd4f7a273fb > Reviewed-on: https://chromium-review.googlesource.com/c/1488765 > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Sigurd Schneider <sigurds@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59887} TBR=sigurds@chromium.org,jgruber@chromium.org Change-Id: I548bcbbd5c6df542dd647b8bbb8accae62e197e6 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7777 Reviewed-on: https://chromium-review.googlesource.com/c/1491600Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#59908}
-
Clemens Hammacher authored
A small refactoring to reduce complexity. It also moves the call to {RegisterTrapHandlerData} out of the mutex to reduce the time in this critical section. R=mstarzinger@chromium.org Bug: v8:8916 Change-Id: I644f03db6099ebef22b2e33b607a2dc038b36423 Reviewed-on: https://chromium-review.googlesource.com/c/1478196 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#59907}
-
Michael Achenbach authored
Also enable test runner to differentiate between clang and gcc. Bug: v8:8919 Change-Id: Icdcae0aba3644a1b1b9ddc6c037eabde27d717f7 Reviewed-on: https://chromium-review.googlesource.com/c/1491634Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#59906}
-
Raphael Kubo da Costa authored
This fixes the libstdc++ build after commit 4b6b8cf6 ("[cleanup] Start cleaning up utils.h"), as string-util.cc was including <cmath> indirectly via src/conversions.h. Bug: chromium:819294 Change-Id: I5be7eac355d0c316a432eab4c50ae66d885b03d7 Reviewed-on: https://chromium-review.googlesource.com/c/1491591Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#59905}
-
Dan Elphick authored
Change-Id: I73532f4cba643032c5fad6e9bca70c901bf71f85 Reviewed-on: https://chromium-review.googlesource.com/c/1491513 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#59904}
-
Peter Marshall authored
These tests still fail on arm simulators and don't appear easily fixable but are low priority. Let's still run them on other build configs. Bug: v8:8917 Change-Id: If0a2f44b746eff5e82eb750103304e788dfbbfb5 Reviewed-on: https://chromium-review.googlesource.com/c/1491593Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#59903}
-
Mike Stanton authored
Happily, with the port of Array.prototype.find and findIndex, we can remove a large set of library functions from array-builtins-gen.cc. BUG: v8:7672 Change-Id: I74e07fe00162b34b2246c868386d4551ba4dc032 Reviewed-on: https://chromium-review.googlesource.com/c/1484296 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#59902}
-
peterwmwong authored
This is a reland of 19291bfc Same as original, but with ThrowTypeError/ThrowRange updated to use an implicit context. Original change's description: > [typedarray] Port TA#subarray and TypedArraySpeciesCreate to Torque > > Reduces TypedArrayPrototypeSubArray builtin size by 392 bytes: > - TFJ Builtin, TypedArrayPrototypeSubArray, 2448 -> 2056 > > Small 3-4% perf increase on JSTests/TypedArrays/SubarrayNoSpecies benchmark > > Bug: v8:7161, v8:8906 > Change-Id: Ia2b906a93db7199ca4592c46c40638cca0a33eec > Reviewed-on: https://chromium-review.googlesource.com/c/1485241 > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Simon Zünd <szuend@chromium.org> > Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> > Cr-Commit-Position: refs/heads/master@{#59894} Bug: v8:7161, v8:8906 Change-Id: Ic3784e2d4db262b1968ba467b7b46b98203f11d4 Reviewed-on: https://chromium-review.googlesource.com/c/1491533Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Cr-Commit-Position: refs/heads/master@{#59901}
-
Clemens Hammacher authored
Keeping the {owned_code_} vector sorted might add unnecessary work executed during compilation and under a mutex. This CL moves the sort operation into {Lookup()}, such that it can be executed in bulks and at later stages. R=mstarzinger@chromium.org Bug: v8:8916 Change-Id: I8d5f4520e4ce087234c0a1e3d97e7e98229206eb Reviewed-on: https://chromium-review.googlesource.com/c/1476994 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#59900}
-
Simon Zünd authored
This CL changes a few AST nodes and one internal structure to use "Identifier" instead of a simple std::string, allowing the use of the exact source position of such a name. Drive-by change: Add new constructor to Binding that allows creation from an Identifier. It sets the declaration_position to the source position of the name instead of using "CurrentSourcePosition". R=tebbi@chromium.org Bug: v8:7793 Change-Id: I456d20822b6528d2e96400c28ebfebea3ca80613 Reviewed-on: https://chromium-review.googlesource.com/c/1491223 Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#59899}
-
Toon Verwaest authored
This roughly takes 40% less time. Change-Id: I7886bd85cd33c9b2d2225e0f207a3e3bf89f1ef3 Reviewed-on: https://chromium-review.googlesource.com/c/1491511 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#59898}
-
Toon Verwaest authored
AdvanceUntil always starts at the character after c0_. This means that we needed to handle first, causing some duplication. Instead of doing that, we can also just not Advance() before AdvanceUntil, making c0_ a character that's already handled. Change-Id: I3e23f62a617b5d607579641fc19b12de4f179e8e Reviewed-on: https://chromium-review.googlesource.com/c/1491512 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#59897}
-
Peter Wong authored
This reverts commit 19291bfc. Reason for revert: https://logs.chromium.org/logs/v8/buildbucket/cr-buildbucket.appspot.com/8920369361383698384/+/steps/build/0/steps/compile/0/stdout ThrowTypeError's method signature changed this morning Original change's description: > [typedarray] Port TA#subarray and TypedArraySpeciesCreate to Torque > > Reduces TypedArrayPrototypeSubArray builtin size by 392 bytes: > - TFJ Builtin, TypedArrayPrototypeSubArray, 2448 -> 2056 > > Small 3-4% perf increase on JSTests/TypedArrays/SubarrayNoSpecies benchmark > > Bug: v8:7161, v8:8906 > Change-Id: Ia2b906a93db7199ca4592c46c40638cca0a33eec > Reviewed-on: https://chromium-review.googlesource.com/c/1485241 > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Simon Zünd <szuend@chromium.org> > Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> > Cr-Commit-Position: refs/heads/master@{#59894} TBR=peter.wm.wong@gmail.com,jgruber@chromium.org,petermarshall@chromium.org,szuend@chromium.org Change-Id: Ic0eaa07e57df3c365b52fb3c5de8eb7c3d9f71e9 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7161, v8:8906 Reviewed-on: https://chromium-review.googlesource.com/c/1491532Reviewed-by: Peter Wong <peter.wm.wong@gmail.com> Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Cr-Commit-Position: refs/heads/master@{#59896}
-
Michael Achenbach authored
TBR=sergiyb@chromium.org NOTRY=true Bug: chromium:933093 Change-Id: I7728b81a48da401d65f63b0450df4119bd04d0f8 Reviewed-on: https://chromium-review.googlesource.com/c/1491515Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#59895}
-
peterwmwong authored
Reduces TypedArrayPrototypeSubArray builtin size by 392 bytes: - TFJ Builtin, TypedArrayPrototypeSubArray, 2448 -> 2056 Small 3-4% perf increase on JSTests/TypedArrays/SubarrayNoSpecies benchmark Bug: v8:7161, v8:8906 Change-Id: Ia2b906a93db7199ca4592c46c40638cca0a33eec Reviewed-on: https://chromium-review.googlesource.com/c/1485241Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Cr-Commit-Position: refs/heads/master@{#59894}
-
Nathan Rogers authored
Change-Id: I7e73b1f9cd81c91b5399f1cd01eb3bd6766025d5 Reviewed-on: https://chromium-review.googlesource.com/c/1490601Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Nathan Rogers <nathanrogers@google.com> Cr-Commit-Position: refs/heads/master@{#59893}
-
Michael Starzinger authored
R=ahaas@chromium.org TEST=mjsunit/regress/wasm/regress-8896 BUG=v8:8896 Change-Id: Id942b95ac05226206a08f0a5e516b9072a1a7f6f Reviewed-on: https://chromium-review.googlesource.com/c/1491220 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#59892}
-
Andreas Haas authored
The spec repo version in DEPS now gets updated automatically by the autoroller, but we still have to update the spec tests manually because it requires ocaml. Updating the core spec tests is what this CL does. There is a bug to also do this update automatically. It's on Sergiy's list but does not have the highest priority. R=titzer@chromium.org Change-Id: I65085dcbca93d41d9f12c5ba227130197ebd203f Reviewed-on: https://chromium-review.googlesource.com/c/1491219Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#59891}
-
Tobias Tebbi authored
Bug: v8:7793 Change-Id: I503622356746acbeaaeca88ce5bacf7ab9c93ab8 Reviewed-on: https://chromium-review.googlesource.com/c/1491215Reviewed-by: Simon Zünd <szuend@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#59890}
-
Mike Stanton authored
Change-Id: I5f0d915351c24b9a2916b8ab1d4bafb4d7eb21c7 Reviewed-on: https://chromium-review.googlesource.com/c/1491217Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#59889}
-
Sergiy Belozorov authored
TBR=sergiyb@chromium.org Bug: chromium:929126 Change-Id: I7f3bda2172ecf78db942b3de86920d8ddd69769b Reviewed-on: https://chromium-review.googlesource.com/c/1491216 Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org> Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#59888}
-
Jakob Gruber authored
We don't allocate executable memory in jitless mode hence there's no need to flush the icache. Bug: v8:7777 Change-Id: I70a1884e6c9f11405465f5741f2eccd4f7a273fb Reviewed-on: https://chromium-review.googlesource.com/c/1488765 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#59887}
-
Maya Lekova authored
Moved CoverageMode and TypeProfileMode enums to interface-types.h to save one include in isolate.h. This reduces the expanded lines of code count by ~45k. Bug: v8:8834 R=yangguo@chromium.org Change-Id: I399fe8cf66b1aec79bcb5831afd46a74e358244d Reviewed-on: https://chromium-review.googlesource.com/c/1489072Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#59886}
-
Benedikt Meurer authored
We didn't update the arguments count properly when changing the JSCall node to a direct Call node. Bug: chromium:936302, v8:8895 Change-Id: I59a39a07e41151d8eaa2e1a1ea7b1835e00fb501 Reviewed-on: https://chromium-review.googlesource.com/c/1491191Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#59885}
-
tzik authored
This is a reland of 734a6575 Original change's description: > Do not enqueue or run a microtask on detached contexts > > This CL disables EnqueueMicrotask and RunMicrotasks on detached > contexts. That is, if an embedder call DetachGlobal() on a v8::Context, > EnqueueMicrotask on that context will not take effect, and all Microtask > that is enqueued before DetachGlobal will be cancelled. > > On Blink, this implies that a frame will no longer run a microtask after > it's navigated away. OTOH, detached frames in Blink are not affected. > > Bug: v8:8124 > Change-Id: I5b00ceef5ea2afb87cf067a65eb95c29bf91176d > Reviewed-on: https://chromium-review.googlesource.com/c/1416071 > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Adam Klein <adamk@chromium.org> > Commit-Queue: Taiju Tsuiki <tzik@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59445} Tbr: adamk@chromium.org, yangguo@chromium.org, verwaest@chromium.org Bug: v8:8124 Change-Id: I959a18ae214f1385d5f453b3ed94772e60f71e0f Reviewed-on: https://chromium-review.googlesource.com/c/1469544 Commit-Queue: Taiju Tsuiki <tzik@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#59884}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/ebd384a..7cd7119 Rolling v8/test/wasm-js/data: https://chromium.googlesource.com/external/github.com/WebAssembly/spec/+log/4da0540..44dfa15 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/a4323c9..f610057 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/95ea36e..be28670 TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org Change-Id: If1a818f05981ae7b58c117498fef2829ebbd909f Reviewed-on: https://chromium-review.googlesource.com/c/1490598Reviewed-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@{#59883}
-
- 26 Feb, 2019 6 commits
-
-
Alexei Filippov authored
The master protocol description file is js_protocol.pdl, not .json TBR=yangguo@chromium.org Change-Id: Ibaef314a63c3e1665ed56bc8c66ca18a00c7fd4f Reviewed-on: https://chromium-review.googlesource.com/c/1489976Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Commit-Queue: Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#59882}
-
Benedikt Meurer authored
This adds support for dynamically checking the newly introduced is_safe_to_skip_adapt_arguments flag on the SharedFunctionInfo inside the ArgumentsAdaptorTrampoline builtin, so that if there's an arguments mismatch, but said bit is set, we can just massage the current stack frame according to the SharedFunctionInfo and don't need to create an arguments adaptor frame. This improves the general (baseline) performance of calls with arguments mismatches by up to 35%, as can be seen with the test case from the tracking bug, which goes from around callUnderApplication: 608 ms. callOverApplication1: 633 ms. callOverApplication2: 635 ms. to callUnderApplication: 390 ms. callOverApplication1: 439 ms. callOverApplication2: 443 ms. when the TurboFan fast-path (that was previously introduced) is forcibly disabled. That's a pretty solid baseline improvement and there's probably still some room for further improvement (i.e. avoid loading the SFI multiple times, etc.). Drive-by-fix: Refactor and cleanup the ArgumentsAdaptorTrampoline builtin a bit to make it more efficient and easier to read (it's still pretty messy, but I don't wanna change too many things at once). This is only the initial x64 port, since for ia32 we're really short on registers and it might not even pay off (initial prototype shows a lot less performance impact). The arm and arm64 port is in progress and will land once ready. Bug: v8:8834, v8:8895 Change-Id: I2e1c8e4767a808a43b932487fdedc0e44cdd35c5 Reviewed-on: https://chromium-review.googlesource.com/c/1488751 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#59881}
-
Sergey Ulanov authored
OS::Allocate() previously was calling zx_vmo_replace_as_executable() when executable access is requested. This breaks the case when the OS::SetPermission() is called to mark that memory as executable later. Updated it to call zx_vmo_replace_as_executable() for all VMOs. This solution is not ideal, but it's consistent with other platforms, so it's acceptable short-term. Bug: v8:8899, chromium:934582 Change-Id: Ifeb818c93d8b9c80e73a057f5e6f3ca5a7b1c23f Reviewed-on: https://chromium-review.googlesource.com/c/1483613Reviewed-by: Wez <wez@chromium.org> Commit-Queue: Sergey Ulanov <sergeyu@chromium.org> Cr-Commit-Position: refs/heads/master@{#59880}
-
Sigurd Schneider authored
TBR=petermarshall@chromium.org Change-Id: I663735761c4ae730337b1381b52c99371eae2951 Notry: true Bug: v8:5193 Reviewed-on: https://chromium-review.googlesource.com/c/1489084Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#59879}
-
Peter Marshall authored
This one fails on Windows. Bug: v8:5193 Change-Id: Ib028f8d7aa8a2d69a7324f9fcc6c5d03bc6f368c Notry: true Reviewed-on: https://chromium-review.googlesource.com/c/1489081 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#59878}
-
Sigurd Schneider authored
R=mslekova@chromium.org Bug: v8:8834 Change-Id: I51ff4441a80fd92bbdf400b5b92ff2d399250864 Reviewed-on: https://chromium-review.googlesource.com/c/1489077Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#59877}
-