- 14 Jun, 2021 1 commit
-
-
Camillo Bruni authored
- Convert Builtin to enum class - Change int-based builtin_index methods to use Builtin - Change Builtins::builtin to Builtins::code Change-Id: Id9e3bb83da97e8894ca7ca78e1e852da60675619 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2949104 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#75127}
-
- 11 Jun, 2021 1 commit
-
-
Junliang Yan authored
Port c5d41ae6 Original Message: Migrate the remaining architectures to the new callee save RecordWrite approach. Bug: v8:11420 Change-Id: I20ddf47690203fe9a0cd76dea3a08658582faf9d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2953486 Auto-Submit: Junliang Yan <junyan@redhat.com> Reviewed-by:
Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/master@{#75104}
-
- 07 Jun, 2021 1 commit
-
-
Camillo Bruni authored
- Add new Builtin enum - Move Builtins::Name:kXXX to Builtin::kXXX - Update existing code Follow CLs will unify the mix of using int builtin-ids and Builtins::Name to only use the new Builtin enum and changing it to an enum class. Change-Id: Ib39aa45a25696acdf147f46392901b1e051deaa4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2905592 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#74995}
-
- 01 Jun, 2021 1 commit
-
-
Camillo Bruni authored
Various behaviour preserving changes that make it easier to switch on callee-saved registers without having to land refactoring code at the same time. - Use MaybeStoreRegisters / MaybeRestoreRegisters - Use CallRecordWriteStubSaveRegisters everywhere for now. Eventually this will be replaced by CallRecordWriteStub in places with fixed registers. - Use WriteBarrierDescriptor::ComputeSavedRegisters, which for now returns the same as allocatable_registers Full x64 implementation: https://crrev.com/c/2922604 Bug: v8:11420 Change-Id: I04e6ac2f6333edc91cb1030a0217f59ad441a1d3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2922250Reviewed-by:
Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#74876}
-
- 12 May, 2021 1 commit
-
-
Junliang Yan authored
Change-Id: I8b7c63ce7438f7a7015ebd4a8d96a976f7d28704 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2892604Reviewed-by:
Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/master@{#74542}
-
- 11 May, 2021 2 commits
-
-
Milad Fa authored
Port cc06b8c7 Original Commit Message: Convert StoreOrigin, TypeOfMode, SaveFPRegsMode and ArgvMode to enum classes with k-prefixed values. R=cbruni@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: I46993e6e846cf7c1f6b3d15ea0aaea3d5693bf4d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2887646Reviewed-by:
Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#74508}
-
Camillo Bruni authored
Convert StoreOrigin, TypeOfMode, SaveFPRegsMode and ArgvMode to enum classes with k-prefixed values. Change-Id: Ib6ca3a9995297e8303a7e013b1d829613c0db510 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2885042Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Reviewed-by:
Zhi An Ng <zhin@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#74497}
-
- 10 May, 2021 1 commit
-
-
Camillo Bruni authored
- Share RemeberedSetAction and SmiCheck enums between all platforms. - Convert to enum classes with k-prefixed values Bug: v8:11420 Change-Id: Ib265a229f12a850ea866fd01d8022cbae5e1a9d8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2885040Reviewed-by:
Zhi An Ng <zhin@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#74489}
-
- 06 May, 2021 1 commit
-
-
Milad Fa authored
Port dc7906c9 R=victorgomes@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: Ic6643492969efcf4113a25a886792038b291cacf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2876987Reviewed-by:
Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#74411}
-
- 21 Apr, 2021 1 commit
-
-
Leszek Swirski authored
Similar to the recent change to --code-comments, make --debug-code a build-time enabled flag, enabled by default on debug builds. This also removes the emit_debug_code() option from the assembler, instead using the flag directly (there were no cases where this option didn't match the global flag). Change-Id: Ic26b0d37b615a055508c9dda099ffbe979eae030 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2843348 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#74095}
-
- 19 Apr, 2021 2 commits
-
-
Milad Fa authored
Port 2871e05c Original Commit Message: This is a reland of ae0752df Reland fixes: * Remove UNREACHABLE() from constexpr switch, since we don't have a CONSTEXPR_UNREACHABLE() (it's ok, the switch is exhaustive for the enum anyway). * Fix IsRegisterArray trait to use public inheritance and size_t for std::array size. Original change's description: > [codegen] Add static interface descriptors > > Add a new CRTP StaticCallInterfaceDescriptor class, which provides > static constexpr getters for a descriptor's registers, parameter counts, > and so on. Each CallInterfaceDescriptor subclass is changed to extend > StaticCallInterfaceDescriptor, with StaticCallInterfaceDescriptor itself > extending CallInterfaceDescriptor to still provide a dynamic lookup > where needed. > > StaticCallInterfaceDescriptor provides a couple of customisation points, > where it reads its CRTP derived descriptor's static fields and > functions, with default fallbacks where appropriate. With these > customisation points, the definition of CallInterfaceDescriptor > subclasses is simplified to: > > a) Providing parameter names (as before) > b) Providing parameter types (as before) > c) Optionally setting flags (like kNoContext or kAllowVarArgs) as > static booleans on the class. > d) Optionally providing a `registers()` method that returns a > std::array<Register, N> of registers that may be used for > parameters (if not provided, this defaults to the implementation > specific default register set). > > Parameter registers (and register count) are automagically set based on > the number of parameters and number of given registers, with extra magic > to ignore no_reg registers (to reduce ia32 special casing). The > CallInterfaceDescriptorData is initialized based on these static > functions, rather than manual per-descriptor initializers. > > This allows us to skip loading descriptors dynamically for CallBuiltin > in Sparkplug, and instead lets us use a bit of template magic to > statically set up arguments for the calls. Any other users of statically > known descriptors will also benefit, thanks to C++ picking the static > methods over the dynamic methods on the base class when available. > > Because we can remove various virtual functions and trigger heavier > inlining of constantly known values, binary size slightly decreases with > this change. > > Note that torque-generated descriptors are changed to use the same magic, > rather than having Torque-specific magic, for consistency. > > Bug: v8:11420 > Change-Id: Icc5e238b6313a08734feb564204a13226b450c22 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2814518 > Auto-Submit: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Commit-Queue: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73996} R=leszeks@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: Id854bb901df72787ed225fc8790c3f626121ab3a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2830897Reviewed-by:
Junliang Yan <junyan@redhat.com> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#74034}
-
Patrick Thier authored
Rename - InterpreterEnterBytecodeDispatch to InterpreterEnterAtBytecode - InterpreterEnterBytecodeAdvance to InterpreterEnterAtNextBytecode. The reason for renaming is consistency with baseline trampolines that have similar functionality, but the old names didn't fit for baseline very well. Change-Id: I35897972fdd71f3bb0db74820db2b9034144a3c8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2830794Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Auto-Submit: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/master@{#74027}
-
- 15 Apr, 2021 1 commit
-
-
Milad Fa authored
Port 06a2c2e0 Original Commit Message: We currently allow OSR (On-Stack Replacement) of arbitrarily deep return addresses. This is in direct violation of Intel CET's shadow stack, which we plan to enable eventually. This change works around this by postponing OSR until after we return to the old code. The main changes are: - Reserve a slot in Liftoff frames to store the OSR target, - Skip the return address modification, and instead store the new code pointer in the dedicated slot, - Upon returning to the old code, check the slot and do an indirect jump to the new code if needed. CET also prevents indirect jumps to arbitrary locations, so the last point is also a CET violation. Valid indirect jump targets must be marked with the ENDBRANCH instruction, which I will do in a follow-up CL. R=thibaudm@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: Id972de1ba7556474cb00b377ea3a38eb4332eae3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2828870Reviewed-by:
Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#73984}
-
- 14 Apr, 2021 1 commit
-
-
Milad Fa authored
Port 885b1ac9 Original Commit Message: Similarly to Windows, on macOS we should touch the memory in a page when allocating stack space that crosses page boundaries. R=victorgomes@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: I6d3fc012c5a88e287deb0bb4d78ae001a1318b4b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2826230Reviewed-by:
Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#73954}
-
- 06 Apr, 2021 1 commit
-
-
Milad Fa authored
Port 064ca18c Original Commit Message: This is a reland of b9c521d0. Fixes crashes by calling kInstallBaselineCode from BaselineEntry if needed, i.e. when there is no feedback vector (required a bit of register rejiggling). This can happen with cross-realm calls. The OSR arming is stored as part of the BytecodeArray and therefore shared across realms. Original change's description: > [sparkplug] OSR Ignition -> Sparkplug > > Add support for OSR to baseline code. > We compile baseline and perform OSR immediately when the bytecode budget > interrupt hits. > > Drive-by: Clean-up deoptimizer special handling of JumpLoop by using > the newly introduced GetBaselinePCForNextExecutedBytecode instead of > GetBaselineEndPCForBytecodeOffset. > > Bug: v8:11420 > Change-Id: Ifbea264d4a83a127dd2a11e28626bf2a5e8aca59 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2784687 > Commit-Queue: Patrick Thier <pthier@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73677} R=pthier@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: I724e8f7a3a2064daae282d892c0e0d6dbd8b691a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2807854Reviewed-by:
Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#73807}
-
- 25 Mar, 2021 1 commit
-
-
Milad Fa authored
This reverts commit d8c6b2ec. Reason for revert: original cl has relanded Original change's description: > Revert "PPC/s390: [sparkplug][deoptimizer] Deoptimize to baseline." > > This reverts commit 94272ea5. > > Reason for revert: original port was reverted > > Original change's description: > > PPC/s390: [sparkplug][deoptimizer] Deoptimize to baseline. > > > > Port bdcd7d79 > > > > Original Commit Message: > > > > If we have baseline code, deoptimize to baseline instead of the > > interpreter. The process is similar to deopting to the interpreter. > > We just use different builtins > > (BaselineEnterAtBytecode/BaselineEnterAtNextBytecode) instead of > > InterpreterEnterBytecodeDispatch/InterpreterEnterBytecodeAdvance, that > > patch an interpreter frame to a baseline frame and continue execution in > > baseline code (based on the deopt type, at the current or next > > bytecode). > > > > R=pthier@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com > > BUG= > > LOG=N > > > > Change-Id: I3230f3f3c6506230b2751a3389f10b022dec61a3 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2783022 > > Reviewed-by: Junliang Yan <junyan@redhat.com> > > Commit-Queue: Milad Fa <mfarazma@redhat.com> > > Cr-Commit-Position: refs/heads/master@{#73618} > > Change-Id: I903ad90099c4dc5f153d28aea9246933ac69972b > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2784002 > Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> > Commit-Queue: Milad Fa <mfarazma@redhat.com> > Cr-Commit-Position: refs/heads/master@{#73630} Change-Id: I7746f42472ae63e49770f491ae6b8ef7b596cfce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2785380 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by:
Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#73661}
-
- 24 Mar, 2021 1 commit
-
-
Milad Fa authored
This reverts commit 94272ea5. Reason for revert: original port was reverted Original change's description: > PPC/s390: [sparkplug][deoptimizer] Deoptimize to baseline. > > Port bdcd7d79 > > Original Commit Message: > > If we have baseline code, deoptimize to baseline instead of the > interpreter. The process is similar to deopting to the interpreter. > We just use different builtins > (BaselineEnterAtBytecode/BaselineEnterAtNextBytecode) instead of > InterpreterEnterBytecodeDispatch/InterpreterEnterBytecodeAdvance, that > patch an interpreter frame to a baseline frame and continue execution in > baseline code (based on the deopt type, at the current or next > bytecode). > > R=pthier@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com > BUG= > LOG=N > > Change-Id: I3230f3f3c6506230b2751a3389f10b022dec61a3 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2783022 > Reviewed-by: Junliang Yan <junyan@redhat.com> > Commit-Queue: Milad Fa <mfarazma@redhat.com> > Cr-Commit-Position: refs/heads/master@{#73618} Change-Id: I903ad90099c4dc5f153d28aea9246933ac69972b No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2784002 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#73630}
-
- 23 Mar, 2021 1 commit
-
-
Milad Fa authored
Port bdcd7d79 Original Commit Message: If we have baseline code, deoptimize to baseline instead of the interpreter. The process is similar to deopting to the interpreter. We just use different builtins (BaselineEnterAtBytecode/BaselineEnterAtNextBytecode) instead of InterpreterEnterBytecodeDispatch/InterpreterEnterBytecodeAdvance, that patch an interpreter frame to a baseline frame and continue execution in baseline code (based on the deopt type, at the current or next bytecode). R=pthier@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: I3230f3f3c6506230b2751a3389f10b022dec61a3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2783022Reviewed-by:
Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#73618}
-
- 11 Mar, 2021 1 commit
-
-
Milad Fa authored
Port 3f9ff062 Original Commit Message: This is a reland of 80f5dfda. A condition in pipeline.cc was inverted, which lead to a CSA verifier error. Original change's description: > [no-wasm] Exclude src/wasm from compilation > > This is the biggest chunk, including > - all of src/wasm, > - torque file for wasm objects, > - torque file for wasm builtins, > - wasm builtins, > - wasm runtime functions, > - int64 lowering, > - simd scala lowering, > - WasmGraphBuilder (TF graph construction for wasm), > - wasm frame types, > - wasm interrupts, > - the JSWasmCall opcode, > - wasm backing store allocation. > > Those components are all recursively entangled, so I found no way to > split this change up further. > > Some includes that were recursively included by wasm headers needed to > be added explicitly now. > > backing-store-unittest.cc is renamed to wasm-backing-store-unittest.cc > because it only tests wasm backing stores. This file is excluded from > no-wasm builds then. > > R=jkummerow@chromium.org, jgruber@chromium.org, mlippautz@chromium.org, petermarshall@chromium.org > > Bug: v8:11238 > Change-Id: I7558f2d12d2dd6c65128c4de7b79173668c80b2b > Cq-Include-Trybots: luci.v8.try:v8_linux64_no_wasm_compile_rel > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2742955 > Commit-Queue: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73344} R=clemensb@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: I006f32407aea051c960f32942f9353f415547116 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2753143Reviewed-by:
Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#73357}
-
- 25 Feb, 2021 1 commit
-
-
Victor Gomes authored
Change-Id: I59b26323bd8d2fd35379fb73c799943315d5422b Bug: v8:11502 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2719564 Commit-Queue: Victor Gomes <victorgomes@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Victor Gomes <victorgomes@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#73042}
-
- 23 Feb, 2021 1 commit
-
-
Milad Fa authored
Port 679af80e Original Commit Message: Avoid duplicating the list of parameter registers to push in the WasmCompileLazy builtin by reusing the existing arrays from wasm-linkage.h. Also verify the computed results against different constants. R=clemensb@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Bug: v8:11377 Change-Id: I7277e865c30d83dd4d13aa501d913fb0d88526b7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2716322Reviewed-by:
Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#72982}
-
- 16 Feb, 2021 1 commit
-
-
Milad Fa authored
Port 89ea44bf Original Commit Message: - Also changes in arm and ia32 for consistency - Removes fall-through since MaybeOptimizeCode never returns R=victorgomes@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: I5a91f709f10065692ae654bdd79e6088e1fe88c7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2697388Reviewed-by:
Junliang Yan <junyan@redhat.com> Reviewed-by:
Victor Gomes <victorgomes@chromium.org> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#72780}
-
- 09 Feb, 2021 1 commit
-
-
Milad Fa authored
WasmCompileLazy needs to save the content of vector parameter registers. If Simd is not enabled or the hardware does not support Simd operations then we need to saves the value of Double registers instead, therefore we need a way to retrieve the value of "CpuFeatures::SupportsWasmSimd128()" in builtins during runtime. Bug: v8:11377 Change-Id: I74a5f870d7077166548472adb25c3fb06d0ebdb9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2679682Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Junliang Yan <junyan@redhat.com> Reviewed-by:
Zhi An Ng <zhin@chromium.org> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#72584}
-
- 02 Feb, 2021 1 commit
-
-
Milad Fa authored
Port 45b99aaa Original Commit Message: In https://crrev.com/c/2645694 we push the full q registers before lazy compile, but we did not change the fixed frame size to account for the wider registers being pushed. This manifested in the frame having data like: (gdb) x/10xg start.ptr_ 0x7f5576ff3eb0: 0x0000000000000000 0x0000336b08202759 0x7f5576ff3ec0: 0x7ff000007f801000 0x0000000000000000 0x7f5576ff3ed0: 0x7ff000007f801001 0x0000000000000000 0x7f5576ff3ee0: 0x7ff000007f801002 0x0000000000000000 0x7f5576ff3ef0: 0x7ff000007f801003 0x0000000000000000 The GC then walks part of this frame, thinking that 0x7ff000007f801003 is a heap object, and then crashes. Add some static_asserts (similar to builtins-x64) to remind ourselves that the pushed registers have to match the size in frame constants. R=zhin@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: I994f1b7fecbb24ea97d846b1eed98201bc3b08ad Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2669308Reviewed-by:
Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#72496}
-
- 01 Feb, 2021 2 commits
-
-
Junliang Yan authored
Port 07b03b83 Original Commit Message: c_entry_fp is normally cleared in `LeaveExitFrame`, but we adjust the frame without it in the exception path. This can cause the SafeStackFrameIterator to assume we have an exit frame and iterate over frames incorrectly, which for arm64 can cause pointer authentication failures with CFI enabled. Even without the pointer authentication failure, we iterate over frames incorrectly, so make this change for other architectures too. Also clear c_entry_fp in the beginning of JSEntry, after pushing it on the stack. Not doing this doesn't cause pointer authentication failures, but it will make the SafeStackFrameIterator assume we are executing C++ and miss the JS frames on top. R=georgia.kouveli@arm.com, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com, mfarazma@redhat.com BUG= LOG=N Change-Id: Id12286a0f18fce928f9e44825fc13cd0338bac46 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2665893Reviewed-by:
Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/master@{#72466}
-
Ng Zhi An authored
Change them to wasm-linkage.h. Bug: v8:11074 Change-Id: Ic29cdd85b3d20cf384952aacc7ca82236e3bf276 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2659502Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#72463}
-
- 28 Jan, 2021 1 commit
-
-
Milad Fa authored
Port 3965dcd5 Original Commit Message: This very slightly improves the performance of bytecode array visitors. R=verwaest@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: I7952fcacc72f4166c73885fd715950b319458209 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2656455Reviewed-by:
Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#72406}
-
- 27 Jan, 2021 1 commit
-
-
Milad Fa authored
If a lazy compilation happens in between 2 Wasm calls, we need to save the full Simd register, since we can have live v128 values. Port: 3b302d5c Bug: chromium:1161555 Change-Id: Id79c609cc01e896f48aff39fdcbf4aa76ae6996e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2649260Reviewed-by:
Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#72349}
-
- 22 Jan, 2021 1 commit
-
-
Victor Gomes authored
Removes unnecessary move after the removal of the arguments adaptor frame Change-Id: If92b9505ca23bb06a01bd25ba8e9664697d381f8 Bug: v8:11307 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2639759 Commit-Queue: Victor Gomes <victorgomes@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#72263}
-
- 19 Jan, 2021 1 commit
-
-
Milad Fa authored
Port 624030e9 Original Commit Message: This will allow us optimize the protector cell checks in the fast path from checking against the function object in every context to just doing a range check against the instance type. This patch adds new instance types for constructor functions that require such protector cell checks. R=gsathya@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: If5918721117e87579a3c6a2a4ed6245bd033a88e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2636840Reviewed-by:
Junliang Yan <junyan@redhat.com> Reviewed-by:
Milad Fa <mfarazma@redhat.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#72173}
-
- 18 Jan, 2021 1 commit
-
-
Victor Gomes authored
Removes: - v8_disable_arguments_adaptor GN flag - ArgumentsAdaptorTrampoline - ArgumentsAdaptorFrame class Change-Id: I382ebe6c25c3c172bee5df3e86e762fca10fa392 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2622911Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/master@{#72133}
-
- 21 Dec, 2020 2 commits
-
-
Junliang Yan authored
Change-Id: I036bad7eba4bcf0ba80f7cec6f3d58a674e22b12 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2599937Reviewed-by:
Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/master@{#71854}
-
Junliang Yan authored
Change-Id: Idb8948c3ff9209a6a41d0793cd2f5c1557b417df Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2598697Reviewed-by:
Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/master@{#71851}
-
- 18 Dec, 2020 1 commit
-
-
Junliang Yan authored
Change-Id: Icf959a6e3ac66a5e907379ee9fec25223517af51 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2598696Reviewed-by:
Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/master@{#71841}
-
- 16 Dec, 2020 1 commit
-
-
Milad Fa authored
Port 7bdb0fbb Original Commit Message: This is a reland of b2a611d8 Original change's description: > [Turboprop] Move dynamic check maps immediate args to deopt exit. > > Rather than loading the immediate arguments required by the > dynamic check maps builtin into registers in the fast-path, > instead insert them into the instruction stream in the deopt > exit and have the builtin load them into registers itself. > > BUG=v8:10582 > > Change-Id: I66716570b408501374eed8f5e6432df64c6deb7c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2589736 > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#71790} R=rmcilroy@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: I83fc0f3e3ebcf19ca4303e50aae94d7b353cd0ac Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2595708Reviewed-by:
Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#71809}
-
- 14 Dec, 2020 1 commit
-
-
Junliang Yan authored
Change-Id: I232585076ecf6a824cdbe2e989eadaf96adcc1d8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2587241Reviewed-by:
Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/master@{#71737}
-
- 11 Dec, 2020 3 commits
-
-
Junliang Yan authored
Change-Id: I59c905182294dc4e8fb8caf03f10ea66d332e034 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2586153Reviewed-by:
Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/master@{#71724}
-
Junliang Yan authored
Change-Id: I6d7e263b84d6871cb13cb01b2b51299b9249d961 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2586994Reviewed-by:
Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/master@{#71720}
-
Junliang Yan authored
Change-Id: I9761b80f32beeb53e466fc67ee1c535075e4225c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2586993Reviewed-by:
Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/master@{#71717}
-
- 10 Dec, 2020 1 commit
-
-
Junliang Yan authored
a few unused functions Drive-By: Also clean up LoadSimd128 as LoadV128 and remove Change-Id: I4cdee0fcb1e153309492026b4334af27afba7ec1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2584442 Commit-Queue: Junliang Yan <junyan@redhat.com> Reviewed-by:
Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#71701}
-