• Paolo Severini's avatar
    Revert "Reland "Faster JS-to-Wasm calls"" · 51ecfaec
    Paolo Severini authored
    This reverts commit 6ada6a90.
    
    Reason for revert: Revert for link issue:
    https://bugs.chromium.org/p/v8/issues/detail?id=11335
    
    Original change's description:
    > Reland "Faster JS-to-Wasm calls"
    >
    > This is a reland of 860fcb1b
    >
    > - Disabled the tests for this feature in V8-lite mode (the original
    > change broke V8-lite tests)
    > - Also modified test console-profile-wasm.js that was brittle with this
    > change because it assumed that there was always a JS-to-Wasm wrapper
    > but this is not the case when the TurboFan compilation completes before
    > the Liftoff-compiled code starts to run.
    >
    > More changes in Patchset 8:
    >
    > - Moved inlining of the "JSToWasm Wrapper" away from simplified-lowering,
    > into a new phase, wasm-inlining that reuses the JSInliner reducer.
    > The doc
    > https://docs.google.com/document/d/1mXxYnYN77tK-R1JOVo6tFG3jNpMzfueQN1Zp5h3r9aM/edit#
    > describes the new logic.
    >
    > - Fixed a couple of small issues in wasm_compiler.cc to make sure that
    > the graph "JSToWasm Wrapper" subgraph has a valid Control chain;
    > this should solve the problem we had inlining the calls in functions
    > that can throw exception.
    >
    >
    > Original change's description:
    > > Faster JS-to-Wasm calls
    > >
    > > This replaces https://chromium-review.googlesource.com/c/v8/v8/+/2376165/.
    > >
    > > Currently JS-to-Wasm calls go through a wrapper/trampoline, built on
    > > the basis of the signature of a Wasm function to call, and whose task
    > > is to:
    > > - set "thread_in_wasm_flag" to true
    > > - convert the arguments from tagged types into Wasm native types
    > > - calculate the address of the Wasm function to call and call it
    > > - convert back the result from Wasm native types into tagged types
    > > - reset "thread_in_wasm_flag" to false.
    > >
    > > This CL tries to improve the performance of JS-to-Wasm calls by
    > > inlining the code of the JS-to-Wasm wrappers in the call site.
    > >
    > > It introduces a new IR operand, JSWasmCall, which replaces JSCall for
    > > this kind of calls. A 'JSWasmCall' node is associated to
    > > WasmCallParameters, which contain information about the signature of
    > > the Wasm function to call.
    > >
    > > WasmWrapperGraphBuilder::BuildJSToWasmWrapper is modified to avoid generating code to convert the types for the arguments
    > > of the Wasm function, when the conversion is not necessary.
    > > The actual inlining of the graph generated for this wrapper happens in
    > > the simplified-lowering phase.
    > >
    > > A new builtin, JSToWasmLazyDeoptContinuation, is introduced to manage
    > > lazy deoptimizations that can happen if the Wasm function callee calls
    > > back some JS code that invalidates the compiled JS caller function.
    > >
    > > Bug: v8:11092
    > > Change-Id: I3174c1c1f59b39107b333d1929ecc0584486b8ad
    > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2557538
    > > Reviewed-by: Igor Sheludko <ishell@chromium.org>
    > > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
    > > Reviewed-by: Georg Neis (ooo until January 5) <neis@chromium.org>
    > > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
    > > Reviewed-by: Maya Lekova <mslekova@chromium.org>
    > > Reviewed-by: Andreas Haas <ahaas@chromium.org>
    > > Commit-Queue: Paolo Severini <paolosev@microsoft.com>
    > > Cr-Commit-Position: refs/heads/master@{#71824}
    >
    > Bug: v8:11092
    > Cq-Include-Trybots: luci.v8.try:v8_linux_arm_lite_rel_ng
    > Change-Id: I7d8523fa916bf4029a31f8c7a72bbd93336dc0b9
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2596784
    > Reviewed-by: Georg Neis <neis@chromium.org>
    > Reviewed-by: Andreas Haas <ahaas@chromium.org>
    > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
    > Reviewed-by: Maya Lekova <mslekova@chromium.org>
    > Reviewed-by: Igor Sheludko <ishell@chromium.org>
    > Commit-Queue: Paolo Severini <paolosev@microsoft.com>
    > Cr-Commit-Position: refs/heads/master@{#72147}
    
    Tbr: ahaas@chromium.org, jgruber@chromium.org
    Bug: v8:11092, v8:11335
    Change-Id: Iab2908928dfe7ea353f70cb5d3bf2de4d3074db6
    Cq-Include-Trybots: luci.v8.try:v8_linux_arm_lite_rel_ng
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2644758
    Commit-Queue: Georg Neis <neis@chromium.org>
    Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#72253}
    51ecfaec
Name
Last commit
Last update
..
loop-stack-check.js Loading commit data...
regress-02256.js Loading commit data...
regress-02256b.js Loading commit data...
regress-02862.js Loading commit data...
regress-1010272.js Loading commit data...
regress-10126-streaming.js Loading commit data...
regress-10126.js Loading commit data...
regress-1014798.js Loading commit data...
regress-1016515.js Loading commit data...
regress-1026680.js Loading commit data...
regress-1027410.js Loading commit data...
regress-1029642.js Loading commit data...
regress-1030103.js Loading commit data...
regress-10309.js Loading commit data...
regress-1032753.js Loading commit data...
regress-1033948.js Loading commit data...
regress-1045225.js Loading commit data...
regress-1045737.js Loading commit data...
regress-1046472.js Loading commit data...
regress-1048241.js Loading commit data...
regress-1051912.js Loading commit data...
regress-1054466.js Loading commit data...
regress-1065599.js Loading commit data...
regress-1065635.js Loading commit data...
regress-1065852.js Loading commit data...
regress-1067621.js Loading commit data...
regress-1070078.js Loading commit data...
regress-10702.js Loading commit data...
regress-1073553.js Loading commit data...
regress-1074586-b.js Loading commit data...
regress-1074586.js Loading commit data...
regress-1075953.js Loading commit data...
regress-1079449.js Loading commit data...
regress-1080902.js Loading commit data...
regress-1081030.js Loading commit data...
regress-10831.js Loading commit data...
regress-1084151.js Loading commit data...
regress-10898.js Loading commit data...
regress-1101304.js Loading commit data...
regress-11024.js Loading commit data...
regress-1111522.js Loading commit data...
regress-1112124.js Loading commit data...
regress-1114005.js Loading commit data...
regress-1116019.js Loading commit data...
regress-11206.js Loading commit data...
regress-1124885.js Loading commit data...
regress-1125951.js Loading commit data...
regress-1132461.js Loading commit data...
regress-1137582.js Loading commit data...
regress-1137608.js Loading commit data...
regress-1140549.js Loading commit data...
regress-1145135.js Loading commit data...
regress-1146861.js Loading commit data...
regress-1152937.js Loading commit data...
regress-1153442.js Loading commit data...
regress-1161654.js Loading commit data...
regress-1161954.js Loading commit data...
regress-1165966.js Loading commit data...
regress-1168116.js Loading commit data...
regress-5531.js Loading commit data...
regress-5800.js Loading commit data...
regress-5860.js Loading commit data...
regress-5884.js Loading commit data...
regress-6054.js Loading commit data...
regress-6164.js Loading commit data...
regress-643595.js Loading commit data...
regress-644682.js Loading commit data...
regress-647649.js Loading commit data...
regress-648079.js Loading commit data...
regress-651961.js Loading commit data...
regress-654377.js Loading commit data...
regress-663994.js Loading commit data...
regress-666741.js Loading commit data...
regress-667745.js Loading commit data...
regress-670683.js Loading commit data...
regress-674447.js Loading commit data...
regress-680938.js Loading commit data...
regress-684858.js Loading commit data...
regress-688876.js Loading commit data...
regress-689450.js Loading commit data...
regress-6931.js Loading commit data...
regress-694433.js Loading commit data...
regress-698587.js Loading commit data...
regress-699485.js Loading commit data...
regress-702460.js Loading commit data...
regress-702839.js Loading commit data...
regress-7033.js Loading commit data...
regress-7035.js Loading commit data...
regress-703568.js Loading commit data...
regress-708714.js Loading commit data...
regress-709684.js Loading commit data...
regress-710844.js Loading commit data...
regress-711203.js Loading commit data...
regress-712569.js Loading commit data...
regress-717056.js Loading commit data...
regress-717194.js Loading commit data...
regress-722445.js Loading commit data...
regress-724846.js Loading commit data...
regress-724851.js Loading commit data...
regress-724972.js Loading commit data...
regress-727219.js Loading commit data...
regress-727222.js Loading commit data...
regress-727560.js Loading commit data...
regress-729991.js Loading commit data...
regress-731351.js Loading commit data...
regress-734108.js Loading commit data...
regress-734246.js Loading commit data...
regress-734345.js Loading commit data...
regress-7353.js Loading commit data...
regress-7364.js Loading commit data...
regress-736584.js Loading commit data...
regress-7366.js Loading commit data...
regress-737069.js Loading commit data...
regress-739768.js Loading commit data...
regress-7422.js Loading commit data...
regress-7499.js Loading commit data...
regress-7508.js Loading commit data...
regress-752423.js Loading commit data...
regress-753496.js Loading commit data...
regress-7565.js Loading commit data...
regress-757217.js Loading commit data...
regress-7579.js Loading commit data...
regress-7582.js Loading commit data...
regress-763439.js Loading commit data...
regress-763697.js Loading commit data...
regress-769637.js Loading commit data...
regress-769846.js Loading commit data...
regress-775366.js Loading commit data...
regress-775710.js Loading commit data...
regress-776677.js Loading commit data...
regress-7785.js Loading commit data...
regress-782280.js Loading commit data...
regress-784050.js Loading commit data...
regress-7914.js Loading commit data...
regress-791810.js Loading commit data...
regress-793551.js Loading commit data...
regress-797846.js Loading commit data...
regress-799952.js Loading commit data...
regress-800756.js Loading commit data...
regress-801785.js Loading commit data...
regress-801850.js Loading commit data...
regress-802244.js Loading commit data...
regress-803427.js Loading commit data...
regress-803788.js Loading commit data...
regress-8059.js Loading commit data...
regress-808012.js Loading commit data...
regress-808848.js Loading commit data...
regress-808980.js Loading commit data...
regress-8094.js Loading commit data...
regress-8095.js Loading commit data...
regress-810973.js Loading commit data...
regress-810973b.js Loading commit data...
regress-812005.js Loading commit data...
regress-816226.js Loading commit data...
regress-817380.js Loading commit data...
regress-819869.js Loading commit data...
regress-820802.js Loading commit data...
regress-824681.js Loading commit data...
regress-825087a.js Loading commit data...
regress-825087b.js Loading commit data...
regress-827806.js Loading commit data...
regress-834619.js Loading commit data...
regress-834693.js Loading commit data...
regress-836141.js Loading commit data...
regress-837417.js Loading commit data...
regress-840757.js Loading commit data...
regress-842501.js Loading commit data...
regress-843563.js Loading commit data...
regress-8505.js Loading commit data...
regress-8533.js Loading commit data...
regress-853453.js Loading commit data...
regress-854011.js Loading commit data...
regress-854050.js Loading commit data...
regress-864509.js Loading commit data...
regress-873600.js Loading commit data...
regress-875556.js Loading commit data...
regress-8846.js Loading commit data...
regress-8896.js Loading commit data...
regress-894307.js Loading commit data...
regress-894374.js Loading commit data...
regress-898932.js Loading commit data...
regress-9017.js Loading commit data...
regress-905815.js Loading commit data...
regress-910824.js Loading commit data...
regress-913804.js Loading commit data...
regress-916869.js Loading commit data...
regress-917412.js Loading commit data...
regress-917588.js Loading commit data...
regress-917588b.js Loading commit data...
regress-918149.js Loading commit data...
regress-918284.js Loading commit data...
regress-918917.js Loading commit data...
regress-919308.js Loading commit data...
regress-919533.js Loading commit data...
regress-922670.js Loading commit data...
regress-922933.js Loading commit data...
regress-924843.js Loading commit data...
regress-924905.js Loading commit data...
regress-925671.js Loading commit data...
regress-935138.js Loading commit data...
regress-940296.js Loading commit data...
regress-9425.js Loading commit data...
regress-9447.js Loading commit data...
regress-946350.js Loading commit data...
regress-948228.js Loading commit data...
regress-952342.js Loading commit data...
regress-956771.js Loading commit data...
regress-956771b.js Loading commit data...
regress-957405.js Loading commit data...
regress-961129.js Loading commit data...
regress-964607.js Loading commit data...
regress-968078.js Loading commit data...
regress-9759.js Loading commit data...
regress-980007.js Loading commit data...
regress-985154.js Loading commit data...
regress-crbug-1002388.js Loading commit data...
regress-crbug-1006631.js Loading commit data...
regress-crbug-1057094.js Loading commit data...
regress-ubsan.js Loading commit data...