- 21 Apr, 2022 20 commits
-
-
Leszek Swirski authored
Additionally, pass the JSFunctionRef directly for inlined functions' compilation units. Bug: v8:7700 Change-Id: Ibdc738c8a9790f8ac45e6a0fd55facdf638562f9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3599480 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Victor Gomes <victorgomes@chromium.org> Commit-Queue: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/main@{#80088}
-
Leszek Swirski authored
Bug: v8:7700 Change-Id: I5155fc665f1214dda390fc6d1476ecf1f137166e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3599483 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Victor Gomes <victorgomes@chromium.org> Commit-Queue: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/main@{#80087}
-
jameslahm authored
... /utils/bit-vector-unittest. Bug: v8:12781 Change-Id: I26b9c2b8a911b513d65d54476b78a0bbac7aa78f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596445Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: 王澳 <wangao.james@bytedance.com> Cr-Commit-Position: refs/heads/main@{#80086}
-
Michael Lippautz authored
This reverts commit 2d394aca. Concurrrent marking for v8::TracedReference requires a single bit in global handles to be written concurrently. While no other bits require concurrent access, initialization still needs to properly publish the the bitfield. Publishing generally allows all bits to be read on any thread which is already used for some. The CL introduces acq/rel semantics on the actual object pointer for publishing the state. Bug: chromium:1315498, v8:12600 Change-Id: Ic50c7c0b647b8b609bcd899f6c9f73bee80303da Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596125Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#80085}
-
jameslahm authored
... /compiler/compiler-unittest. - Add PrintExtension for adding print function. - Add WithPrintExtensionMixin to register PrintExtension. - Add StreamerThread to run a ScriptStreamingTask in a separate thread. Bug: v8:12781 Change-Id: I9d3324f3a8dcf00b5b121db6007c9a3cb2972313 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596442Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: 王澳 <wangao.james@bytedance.com> Cr-Commit-Position: refs/heads/main@{#80084}
-
Leszek Swirski authored
Fixes the iteration after emitting an unconditional deopt to kill all Jumps along the way, not just ones preceeding a merge point. This fixes several issues: a) That Jump may be to a not yet created merge point, in which case we were getting a nullptr deref. b) Not-yet created merge points would not be detected as merge points, so we'd skip over them and miss killing the control node before them. c) We weren't reducing predecessor counts, so even after fixing the nullptr deref above, merge states created later would have the wrong predecessor count. Now, we check bytecode targets (including fallthrough for non-returning bytecodes) on for every bytecode, and skip over both not-yet created merges, and loop merges that have no predecessors other than the loop jump itself. As part of this, the dead predecessor merging is changed; instead of setting the predecessor to nullptr, we drop the predecessor count by one, and trim any Phis' input counts. Bug: v8:7700 Change-Id: I904c82df7c5dd44d7637e07f6750b35e7e219284 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3599470Reviewed-by: Victor Gomes <victorgomes@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#80083}
-
Michael Lippautz authored
When moving forward and optimizing internals, these APIs cannot be trusted anymore as their semantics are tangled to the current implementation. Bug: v8:12819 Change-Id: I0e3370724307a420ee42fed8070b55542be9400d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3599475 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#80082}
-
Junliang Yan authored
Change-Id: I1ceb1038c91e43299f4f4b35da684566ecbbef7f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596911Reviewed-by: Milad Farazmand <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/main@{#80081}
-
Victor Gomes authored
Adds LogFunctionCompilation as a static member of Compiler. Calls the log function after installing the code on the main thread. Bug: v8:12054, v8:12818 Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng Change-Id: I664b2c890292a207720efe311b7c55757c7c6470 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3599472Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/main@{#80080}
-
Omer Katz authored
Bug: chromium:1316121, v8:12612 Change-Id: I5b32211f01a97a6aaee52f0285d62a516381f43c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3592954Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/main@{#80079}
-
Michael Lippautz authored
Removes V8-internal support for resurrecting finalizers in the garbage collector. The APIs have already been removed in http://crrev.com/c/3596174 Bug: v8:12672 Change-Id: Ia507e74659b61a2c8c08281d7f395aee51e3fe17 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3584115Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#80078}
-
Leszek Swirski authored
Add a --maglev-inlining flag, and add some half-baked support for inlining functions when there is call feedback. When the flag is enabled and there is call feedback, we create a nested MaglevGraphBuilder for the current graph, and pause building the graph of the outer function. We manually set up its prologue to set up its frame with the arguments pass into the call, build the body with the nested graph builder. This inner builder knows that it is building an inlined function, and all Return bytecodes will instead emit a Jump to a single merge block at the end of the function, where execution of the outer function can resume. These inner function basic blocks are wired into the outer graph with new JumpToInline and JumpFromInline control nodes. The idea is that subsequent passes will know what the inline function is, and will use these to manage the function stack (particularly for codegen and especially deopts). Bug: v8:7700 Change-Id: I4e9b153f8cf4d06c56e7be6365e7a18b86a773c0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3585958 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#80077}
-
Leszek Swirski authored
Bug: v8:7700 Change-Id: Ieecdd66e7e540ad27aaa05cf13f270e42377b15e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3599471 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Victor Gomes <victorgomes@chromium.org> Commit-Queue: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/main@{#80076}
-
Leszek Swirski authored
"Iterate" takes an iterable and a function of TNode<Object>, and implements the iterator protocol to iterate the iterable, applying the function to each element. It handles exceptions thrown during iteration and closes the iterator as appropriate -- the hope is that if the body of the iteration has no exception-throwing nodes, TurboFan can dead-code eliminate this close. In the future, we may want to add an array fast-path to this method; centralising the implementation means that this fast-path will then be used by all callers of Iterate. Change-Id: I9fe2f862b78619fe21ea7cb6469ed7ba93f14a30 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3581770Reviewed-by: Frank Tang <ftang@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#80075}
-
jameslahm authored
... /objects/array-list-unittest. Bug: v8:12781 Change-Id: I8bf50cd6680b6a875fb7029a6767eebc39ed8b13 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596444Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: 王澳 <wangao.james@bytedance.com> Cr-Commit-Position: refs/heads/main@{#80074}
-
Benoît Lizé authored
So don't test it. This was changed in https://chromium-review.googlesource.com/c/v8/v8/+/3596164, breaking this test on low-RAM ARM64 Android devices. Bug: v8:12814 Change-Id: I25caf748607c33f5f632eb5236643ea5e327f867 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596129Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#80073}
-
Michael Lippautz authored
Bug: v8:12813 Change-Id: I27bbf5190165a0d919f021bbcf089e203dfed83f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3592955Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#80072}
-
Dominik Inführ authored
When an object changes layout, OLD_TO_SHARED slots need to be invalidated for it as well. Bug: v8:11708 Change-Id: I28ea181012955fddef986e8f8806a7477307df28 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596175Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#80071}
-
Michael Lippautz authored
Removes support for specifying weak handles with finalizers that allow for object resurrection. This CL removes the public facing APIs. Internal support will be removed in a follow up. Bug: v8:12672 Change-Id: Ia6ea269093aaa128caadb7508aca2e5a1254923c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596174 Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#80070}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/3dce554..28bea73 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/e356f14..960c656 Rolling v8/third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/be2c378..a0906c7 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/7d4922a..4dd2e32 R=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com Change-Id: Ief025d20148a03362b05f27c63741eb7c6ce3188 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3595972 Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Bot-Commit: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#80069}
-
- 20 Apr, 2022 20 commits
-
-
Shu-yu Guo authored
This reverts commit a7d6bf96. Reason for revert: GN breakage preventing lkgr: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Blink%20Linux/16971/overview Original change's description: > [test] Move tracing cctest to unittests > > Bug: v8:12781 > Change-Id: Idc50a20f17de3af25372833b28cb16ac9a0e6485 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3574552 > Auto-Submit: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/main@{#80065} Bug: v8:12781 Change-Id: Icb295f7203cec4aef4bda491d08a39ce0c66fa0b No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3597242 Auto-Submit: Shu-yu Guo <syg@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#80068}
-
Shu-yu Guo authored
See https://ci.chromium.org/ui/p/chromium/builders/try/linux-chromeos-rel/1172178/overview Change-Id: I97d25fd36c4b5fce4eb1d86c423443c2395af793 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3598030Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#80067}
-
legendecas authored
As ecma262 normative change https://github.com/tc39/ecma262/pull/2683, exception thrown on PromiseResolve the broken promises need to be caught and use it to reject the promise returned by `AsyncGenerator.prototype.return`. AsyncGeneratorReturn didn't handle the exception thrown by Await. This CL add an exception handler around it and pass through the caught exception to the returned promise and resume the generator by AsyncGeneratorAwaitResume if the generator is not closed, otherwise reject the promise by AsyncGeneratorReject and drain the queue. Bug: v8:12770 Change-Id: Ic3cac4ce36a6d8ecfeb5d7d762a37a2e0524831c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3581158Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Chengzhong Wu <legendecas@gmail.com> Cr-Commit-Position: refs/heads/main@{#80066}
-
Leszek Swirski authored
Bug: v8:12781 Change-Id: Idc50a20f17de3af25372833b28cb16ac9a0e6485 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3574552 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#80065}
-
Marja Hölttä authored
This enables downloading web snapshots with XMLHttpRequest and deserializing them. Bug: v8:11525 Change-Id: I498f1e99795d474a1715fce9aa1d8c1a34651c42 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3585961Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#80064}
-
Junliang Yan authored
Change-Id: I55a68f23106d4fed8a8f3ea7fc29c31a1aeba711 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596126Reviewed-by: Milad Farazmand <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/main@{#80063}
-
Liu Yu authored
Besides, enable float support on simulator. Port commit 098f31f4 Port commit a6da8161 As defined in https://loongson.github.io/LoongArch-Documentation/LoongArch-ELF-ABI-EN.html#_procedure_calling_convention Loongarch calling convention uses GP to pass floating-point arguments when no FP is available. Bug: v8:12614, chromium:1052746 Change-Id: I33d4115674604604b2b7e9178a306efb6000222b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3448195Reviewed-by: Maya Lekova <mslekova@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Yu Liu <liuyu@loongson.cn> Auto-Submit: Yu Liu <liuyu@loongson.cn> Cr-Commit-Position: refs/heads/main@{#80062}
-
Junliang Yan authored
Change-Id: If7588aed75d12a12d5a125f95ccc3db9743e4a00 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596170Reviewed-by: Milad Farazmand <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/main@{#80061}
-
Michael Lippautz authored
Change-Id: Iac90033d689111e8a2384bee357e7f282cc33db7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596168Reviewed-by: Hannes Payer <hpayer@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#80060}
-
Junliang Yan authored
Change-Id: I57eac5fdeddd49ecf8b45e293fbe9f98f068b86b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3597310Reviewed-by: Milad Farazmand <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/main@{#80059}
-
Camillo Bruni authored
- Use explicit options when running gmcole.py from run-gcmole.py - Use gcmole.py-relative paths to find the default V8 root dir for maximum convenience when running locally Change-Id: Iba0da90b99b0321129f1c4099f437c76dabb1186 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3582386Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Auto-Submit: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#80058}
-
Camillo Bruni authored
We do change CWD in the script which breaks relative input paths to d8 and .js files for instance. Drive-by-fix: - Show clear warning if `perf record` failed Change-Id: Ib900ca6b53307e13be459beba1e96ddfc8ee9b79 No-try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3593784Reviewed-by: Victor Gomes <victorgomes@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#80057}
-
Al Muthanna Athamina authored
Bug: v8:12802 Change-Id: I2573ed6b59fe51a135bbec5734ff1b7414316b0a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596163Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Almothana Athamneh <almuthanna@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/main@{#80056}
-
Thibaud Michaud authored
R=clemensb@chromium.org CC=gdeepti@chromium.org Bug: v8:12284 Change-Id: Idddb0b7648b29612fa0308520ca2fc2a3e5647f9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3593218Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/main@{#80055}
-
Victor Gomes authored
The register allocator might be able to choose between a floating or general registers. Bug: v8:7700 Change-Id: Ib74b8c6cd5db12ae34b7f08cd2aeb21ffd3bac33 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596121Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/main@{#80054}
-
Jakob Gruber authored
This adds the OSR state to the FV, where the state consists of the osr_urgency (same semantics as previously on the BytecodeArray) and a maybe_has_optimized_osr_code bit (set if any optimized OSR Turbofan code exists for this function). The two are packed into one field for efficient OSR checks in generated code (to be implemented in the followup CL). Bug: v8:12161 Change-Id: Id4edb8f5db0bf02e0d04b87aeec8d8c53e213503 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596120 Commit-Queue: Jakob Linke <jgruber@chromium.org> Auto-Submit: Jakob Linke <jgruber@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#80053}
-
Omer Katz authored
Allocation origin tracking also implicitly disables inline allocations. Bug: chromium:1316121, v8:12612 Change-Id: I7efecff3bb0cceef1071853e18a01effcc97243f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3593116Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/main@{#80052}
-
Leszek Swirski authored
MaglevCompilationInfo stores the overall compilation information (zone, graph, labeller, etc.), while MaglevCompilationUnit stores per-function information (function, bytecode analysis, register count, etc.). Without inlining, these are 1:1 and we've been pretty sloppy in deciding which to pass around. Once we implement inlining though, we want to be careful to pass MaglevCompilationInfo where we're processing the whole graph, and MaglevCompilationUnit where we're processing something function-specific. This does the pre-work of cleaning this up in preparation for inlining. Bug: v8:7700 Change-Id: Ic50fdd97e56f6c963ab490bd419eb65fe0873688 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596162 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Victor Gomes <victorgomes@chromium.org> Commit-Queue: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/main@{#80051}
-
Victor Gomes authored
... and rename Untagged to Int32. Bug: v8:7700 Change-Id: Ib206dba74432b3f1f70fd62006cb6a1222b40ed9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3584114Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Victor Gomes <victorgomes@chromium.org> Auto-Submit: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/main@{#80050}
-
Benoît Lizé authored
Reason for reland: Fixed Fuchsia build. Original change's description: > [builtins] Remap builtins on Linux > > This is a CL similar to > https://chromium-review.googlesource.com/c/v8/v8/+/3553006, but on Linux > rather than macOS. The goal is to allow builtins to use short builtin > calls without paying a memory cost, by remapping rather than copying > them. > > However, while macOS has a system call making this easier, on Linux we > don't have one on most kernels. There is the recently-introduced > mremap(MREMAP_DONTUNMMAP), which is available in 5.7, but only works on > anonymous mappings until 5.13, which is too recent for most Android > devices. > > Instead, we open() the file containing the builtins, and mmap() it at > the desired location. > > Change-Id: I4524f349948b8f48c4536cf392a1cd179662a6cc > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3570426 > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Jakob Linke <jgruber@chromium.org> > Commit-Queue: Benoit Lize <lizeb@chromium.org> > Cr-Commit-Position: refs/heads/main@{#80022} Change-Id: I0cc8cf510bd2cb8621130bea8406d79aa209948c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596164Reviewed-by: Jakob Linke <jgruber@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Benoit Lize <lizeb@chromium.org> Cr-Commit-Position: refs/heads/main@{#80049}
-