- 13 May, 2022 1 commit
-
-
Clemens Backes authored
Now that we require C++17 support, we can just use the standard static_assert without message, instead of our STATIC_ASSERT macro. R=leszeks@chromium.org Bug: v8:12425 Change-Id: I1d4e39c310b533bcd3a4af33d027827e6c083afe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3647353Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#80524}
-
- 27 Apr, 2022 1 commit
-
-
Liu Yu authored
Port commit 91453880 Bug: v8:12161 Change-Id: If2a465a80387d08df885e72e07b16962b6bc5d8b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3609227 Auto-Submit: Yu Liu <liuyu@loongson.cn> Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Cr-Commit-Position: refs/heads/main@{#80216}
-
- 12 Apr, 2022 1 commit
-
-
Liu Yu authored
Port commit b8473c52 Bug: v8:12161 Change-Id: I4cdf161356039b47ecf054aeba85c7a3d0d06de0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3583218Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Commit-Queue: Yu Liu <liuyu@loongson.cn> Auto-Submit: Yu Liu <liuyu@loongson.cn> Cr-Commit-Position: refs/heads/main@{#79932}
-
- 11 Apr, 2022 1 commit
-
-
Jakob Gruber authored
This is a reland of commit 51b99213 Fixed in reland: - bytecode_age was incorrectly still accessed as an int8 (instead of int16). - age and osr state were incorrectly reset on ia32 (16-bit write instead of 32-bit). Original change's description: > [osr] Add an install-by-offset mechanism > > .. for concurrent OSR. There, the challenge is to hit the correct > JumpLoop bytecode once compilation completes, since execution has > moved on in the meantime. > > This CL adds a new mechanism to request installation at a specific > bytecode offset. We add a new `osr_install_target` field to the > BytecodeArray: > > bitfield struct OSRUrgencyAndInstallTarget extends uint16 { > osr_urgency: uint32: 3 bit; > osr_install_target: uint32: 13 bit; > } > > // [...] > osr_urgency_and_install_target: OSRUrgencyAndInstallTarget; > bytecode_age: uint16; // Only 3 bits used. > // [...] > > Note urgency and install target are packed into one 16 bit field, > we can thus merge both checks into one comparison within JumpLoop. > Note also that these fields are adjacent to the bytecode age; we > still reset both OSR state and age with a single (now 32-bit) > store. > > The install target is the lowest 13 bits of the bytecode offset. > When set, every reached JumpLoop will check `is this my offset?`, > and if yes, jump into runtime to tier up. > > Drive-by: Rename BaselineAssembler::LoadByteField to LoadWord8Field. > > Bug: v8:12161 > Change-Id: I275d468b19df3a4816392a2fec0713a8d211ef80 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3571812 > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Jakob Linke <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/main@{#79853} Bug: v8:12161 Change-Id: I7c59b2a2aacb1d7d40fdf39396ec9d8d48b0b9ac Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3578543Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#79911}
-
- 07 Apr, 2022 2 commits
-
-
Leszek Swirski authored
This reverts commit 51b99213. Reason for revert: Speculative revert for MSAN failure https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/43080/overview Original change's description: > [osr] Add an install-by-offset mechanism > > .. for concurrent OSR. There, the challenge is to hit the correct > JumpLoop bytecode once compilation completes, since execution has > moved on in the meantime. > > This CL adds a new mechanism to request installation at a specific > bytecode offset. We add a new `osr_install_target` field to the > BytecodeArray: > > bitfield struct OSRUrgencyAndInstallTarget extends uint16 { > osr_urgency: uint32: 3 bit; > osr_install_target: uint32: 13 bit; > } > > // [...] > osr_urgency_and_install_target: OSRUrgencyAndInstallTarget; > bytecode_age: uint16; // Only 3 bits used. > // [...] > > Note urgency and install target are packed into one 16 bit field, > we can thus merge both checks into one comparison within JumpLoop. > Note also that these fields are adjacent to the bytecode age; we > still reset both OSR state and age with a single (now 32-bit) > store. > > The install target is the lowest 13 bits of the bytecode offset. > When set, every reached JumpLoop will check `is this my offset?`, > and if yes, jump into runtime to tier up. > > Drive-by: Rename BaselineAssembler::LoadByteField to LoadWord8Field. > > Bug: v8:12161 > Change-Id: I275d468b19df3a4816392a2fec0713a8d211ef80 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3571812 > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Jakob Linke <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/main@{#79853} Bug: v8:12161 Change-Id: I0c47499544465c80b5b23a492c00ec1c62815caa No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3576121 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Owners-Override: Leszek Swirski <leszeks@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@{#79855}
-
Jakob Gruber authored
.. for concurrent OSR. There, the challenge is to hit the correct JumpLoop bytecode once compilation completes, since execution has moved on in the meantime. This CL adds a new mechanism to request installation at a specific bytecode offset. We add a new `osr_install_target` field to the BytecodeArray: bitfield struct OSRUrgencyAndInstallTarget extends uint16 { osr_urgency: uint32: 3 bit; osr_install_target: uint32: 13 bit; } // [...] osr_urgency_and_install_target: OSRUrgencyAndInstallTarget; bytecode_age: uint16; // Only 3 bits used. // [...] Note urgency and install target are packed into one 16 bit field, we can thus merge both checks into one comparison within JumpLoop. Note also that these fields are adjacent to the bytecode age; we still reset both OSR state and age with a single (now 32-bit) store. The install target is the lowest 13 bits of the bytecode offset. When set, every reached JumpLoop will check `is this my offset?`, and if yes, jump into runtime to tier up. Drive-by: Rename BaselineAssembler::LoadByteField to LoadWord8Field. Bug: v8:12161 Change-Id: I275d468b19df3a4816392a2fec0713a8d211ef80 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3571812Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#79853}
-
- 14 Mar, 2022 1 commit
-
-
Leszek Swirski authored
Modernise the RegList interface to be a proper class, rather than a typedef to an integer, and add proper methods onto it rather than ad-hoc bit manipulation. In particular, this makes RegList typesafe, adding a DoubleRegList for DoubleRegisters. The Arm64 CPURegList isn't updated to use (or extend) the new RegList interface, because of its weird type-erasing semantics (it can store Registers and VRegisters). Maybe in the future we'll want to get rid of CPURegList entirely and use RegList/DoubleRegList directly. Change-Id: I3cb2a4d386cb92a4dcd2edbdd3fba9ef71f354d6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3516747 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#79460}
-
- 03 Mar, 2022 1 commit
-
-
jameslahm authored
- add CopyDataPropertiesWithExcludedProperties intrinsic - add CopyDataPropertiesWithExcludedProperties_Baseline intrinsic Bug: v8:11614 Change-Id: Ie6a3db4c9edda40ecf84b8d1107e70fd7ff0d5fb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3470349Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#79342}
-
- 23 Feb, 2022 1 commit
-
-
Jakob Gruber authored
- Move feedback / SP into TieringManager. - Rename OnInterruptTickFromBytecode to OnInterruptTick (it's called from both Code and Bytecode). - Remove the SealHandleScope / HandleScope dance. Bug: v8:7700 Change-Id: I800542deb3805097a589b7766907efb6f40c7dae Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3467875Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#79220}
-
- 18 Jan, 2022 1 commit
-
-
Liu Yu authored
Port commit db9f6bff Bug: v8:11112 Change-Id: I23e4f5e9fe854dce1c9cd93c28fdb656980c7094 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3397537 Auto-Submit: Yu Liu <liuyu@loongson.cn> Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Cr-Commit-Position: refs/heads/main@{#78662}
-
- 09 Nov, 2021 1 commit
-
-
Liu Yu authored
Besides, port commit 9711289d to mips and loong64, and fix an error with the usage of BlockTrampolinePoolFor. Change-Id: Ifee64f8471e1d2db8945768370a30ab06210420c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3269369Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Auto-Submit: Liu yu <liuyu@loongson.cn> Cr-Commit-Position: refs/heads/main@{#77784}
-
- 12 Oct, 2021 1 commit
-
-
Liu Yu authored
Port commit 6bd44dfe Port commit 89933af6 Port commit 255aaed9 Port commit 7511020b Port commit aa259e30 Bug: v8:11112 Change-Id: Ia005a5da2d48505926a19a5d238b606826db1135 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3215372 Auto-Submit: Liu yu <liuyu@loongson.cn> Reviewed-by: Patrick Thier <pthier@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/main@{#77338}
-
- 02 Sep, 2021 1 commit
-
-
Liu Yu authored
Acquire a scratch register instead of passing scratch register in JumpIfSmi and JumpIfNotSmi. Change-Id: I21776e1cd9d19f0d55c25a5bb3f7efcc247c80e5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3135155Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Auto-Submit: Liu yu <liuyu@loongson.cn> Cr-Commit-Position: refs/heads/main@{#76632}
-
- 30 Aug, 2021 1 commit
-
-
Liu Yu authored
Port commit 732f394c Change-Id: Ied72f19b738b8c699781b1061903361b1844ad44 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3128865Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Auto-Submit: Liu yu <liuyu@loongson.cn> Cr-Commit-Position: refs/heads/main@{#76562}
-
- 16 Aug, 2021 1 commit
-
-
Yu Yin authored
Bug: v8:12008 Change-Id: I2e1d918a1370dae1e15919fbf02d69cbe48f63bf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3089095Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#76308}
-
- 07 Jul, 2021 1 commit
-
-
Liu Yu authored
Bug: v8:11420 Change-Id: Ic2744f59b697d4b229ea5cd3055a396c616fc14b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3007181Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Auto-Submit: Liu yu <liuyu@loongson.cn> Cr-Commit-Position: refs/heads/master@{#75592}
-
- 24 Jun, 2021 1 commit
-
-
Camillo Bruni authored
This is a reland of 2588380d Fixes arm compilation. Original change's description: > [assembler][arm64][arm][ia32] Add more Assembler::CodeComment > > Use more code comments to better document generated assembler code. > This CL also attaches a CodeComment to FrameScope. > > Change-Id: I45afc3e4078dc161316b877fbbd1ae8bcd6e821d > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2964392 > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> > Reviewed-by: Victor Gomes <victorgomes@chromium.org> > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75277} Change-Id: I150c9166e0d31e4af857f76c567b829d16da87e4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2976651Reviewed-by: Victor Gomes <victorgomes@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#75351}
-
- 21 Jun, 2021 2 commits
-
-
Nico Hartmann authored
This reverts commit 2588380d. Reason for revert: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Arm%20-%20debug%20builder/34664/overview Original change's description: > [assembler][arm64][arm][ia32] Add more Assembler::CodeComment > > Use more code comments to better document generated assembler code. > This CL also attaches a CodeComment to FrameScope. > > Change-Id: I45afc3e4078dc161316b877fbbd1ae8bcd6e821d > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2964392 > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> > Reviewed-by: Victor Gomes <victorgomes@chromium.org> > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75277} Change-Id: I6d36535ca96133cc83b3d6194a3d53889f735499 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2972826Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#75278}
-
Camillo Bruni authored
Use more code comments to better document generated assembler code. This CL also attaches a CodeComment to FrameScope. Change-Id: I45afc3e4078dc161316b877fbbd1ae8bcd6e821d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2964392Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Victor Gomes <victorgomes@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#75277}
-
- 11 Jun, 2021 1 commit
-
-
Liu Yu authored
Bug: v8:11421 Change-Id: I1d3f8d3211d06d3e47ffd530715c1dbfbaf79fe8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2954905 Auto-Submit: Liu yu <liuyu@loongson.cn> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Cr-Commit-Position: refs/heads/master@{#75093}
-
- 10 Jun, 2021 2 commits
-
-
Liu Yu authored
This is a reland of febfbb21 Original change's description: > [sparkplug] Adjust compare and jump function in sparkplug > > Mips and risc-v do not have the flag register and can not decide > whether to jump through flags in JumpIf(); > > Therefor, we merge the comparison with the jump; > > Bug: v8:11803 > > Change-Id: If53752da93b97e8ff65affdfe99e5de8e1a1493f > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2921034 > Auto-Submit: Liu yu <liuyu@loongson.cn> > Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75001} Bug: v8:11803 Change-Id: Ib3cb89d8a9f59aad3fbd857881699e84e8fcd8aa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2945538 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#75078}
-
Camillo Bruni authored
Migrate the remaining architectures to the new callee save RecordWrite approach. Bug: v8:11420 Change-Id: I9da56cbb5bf8c6ca4bcc7c0e2a1233e2f5ef587c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2944844 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#75075}
-
- 08 Jun, 2021 2 commits
-
-
Zhao Jiazhong authored
This reverts commit febfbb21. Reason for revert: Introduced new bugs: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Mac64%20-%20debug/34472/overview Original change's description: > [sparkplug] Adjust compare and jump function in sparkplug > > Mips and risc-v do not have the flag register and can not decide > whether to jump through flags in JumpIf(); > > Therefor, we merge the comparison with the jump; > > Bug: v8:11803 > > Change-Id: If53752da93b97e8ff65affdfe99e5de8e1a1493f > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2921034 > Auto-Submit: Liu yu <liuyu@loongson.cn> > Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75001} Bug: v8:11803 Change-Id: Ic982564ccdef9a07bf3a5fb4745a11cfa178cc0e No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2946818 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Cr-Commit-Position: refs/heads/master@{#75005}
-
Liu Yu authored
Mips and risc-v do not have the flag register and can not decide whether to jump through flags in JumpIf(); Therefor, we merge the comparison with the jump; Bug: v8:11803 Change-Id: If53752da93b97e8ff65affdfe99e5de8e1a1493f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2921034 Auto-Submit: Liu yu <liuyu@loongson.cn> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#75001}
-
- 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}
-
- 11 May, 2021 1 commit
-
-
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}
-
- 21 Apr, 2021 2 commits
-
-
Leszek Swirski authored
For handles and external refs, use Move32BitImmediate directly rather than mov -- mov will first try more compact encodings which will almost certainly fail for embedded pointers, so it's not worth trying to use it in baseline compilation where the compiler speed matters. Bug: v8:11420 Change-Id: Ic0ed9f95d28302ae9737567aa863dc93666239e1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2843814 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#74103}
-
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}
-
- 20 Apr, 2021 1 commit
-
-
Camillo Bruni authored
- Add v8_code_comments to allow runtime-enabled code comments with --code-comments - v8_code_comments is enable by default in debug mode - Make MacroAssembler::RecordComment helper inlineable to remove call and check overheads when v8_code_comments = false - Make FLAG_code_comments readonly if v8_code_comments = false and benefit from dead-code elimination This saves roughly 5% CompileBaselineVisit time in sparkplug on a 5MiB JS file. Bug: v8:11420 Change-Id: I1174ab37b4bbe1ff8880416c1f6a6e28377a962c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2824428Reviewed-by: Bill Budge <bbudge@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#74055}
-
- 29 Mar, 2021 1 commit
-
-
Patrick Thier authored
With the addition of deoptimizing to baseline, we mark the begin of every bytecode as a valid jump target in baseline code (Required for CFI on arm64). Therefore we can omit marking excpetion handler positions and binds at the beginning of the bytecode as valid jump targets now. Bug: v8:11420 Change-Id: Id173dacb5534b680c5c3796c78e2a2c2288e5e0a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2786841 Auto-Submit: Patrick Thier <pthier@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#73702}
-
- 25 Mar, 2021 1 commit
-
-
Patrick Thier authored
This is a reland of e3ccb538 No changes for the reland. This CL was speculatively reverted, but was not the cause of the problem. TBR=jgruber@chromium.org Original change's description: > Reland "[sparkplug][deoptimizer] Deoptimize to baseline." > > This is a reland of bdcd7d79 > > Handle lazy deopts when the current bytecode is JumpLoop. > Instead of advancing to the next bytecode, re-execute the JumpLoop. > > TBR=jgruber@chromium.org, neis@chromium.org > > Original change's description: > > [sparkplug][deoptimizer] Deoptimize to baseline. > > > > 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). > > > > Bug: v8:11420 > > Change-Id: Iabaefb36c05155a435c7b380906a86d9b9d549fa > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2695591 > > Commit-Queue: Patrick Thier <pthier@chromium.org> > > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > > Reviewed-by: Georg Neis <neis@chromium.org> > > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#73609} > > Bug: v8:11420 > Change-Id: Ib8cac028121188ddc23ff29377760ed684eb7392 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2783035 > Reviewed-by: Patrick Thier <pthier@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Patrick Thier <pthier@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73636} Bug: v8:11420 Change-Id: I7fbbb73a4fdaeab8b294862ee6ae952928c57994 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2784695 Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/master@{#73656}
-
- 24 Mar, 2021 3 commits
-
-
Deepti Gandluri authored
This reverts commit e3ccb538. Reason for revert: Speculative revert for ARM 64 CFI fails - https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20CFI/5174? Original change's description: > Reland "[sparkplug][deoptimizer] Deoptimize to baseline." > > This is a reland of bdcd7d79 > > Handle lazy deopts when the current bytecode is JumpLoop. > Instead of advancing to the next bytecode, re-execute the JumpLoop. > > TBR=jgruber@chromium.org, neis@chromium.org > > Original change's description: > > [sparkplug][deoptimizer] Deoptimize to baseline. > > > > 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). > > > > Bug: v8:11420 > > Change-Id: Iabaefb36c05155a435c7b380906a86d9b9d549fa > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2695591 > > Commit-Queue: Patrick Thier <pthier@chromium.org> > > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > > Reviewed-by: Georg Neis <neis@chromium.org> > > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#73609} > > Bug: v8:11420 > Change-Id: Ib8cac028121188ddc23ff29377760ed684eb7392 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2783035 > Reviewed-by: Patrick Thier <pthier@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Patrick Thier <pthier@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73636} Bug: v8:11420 Change-Id: Icd797b4979a114a2a627e12c8bb7d2215df03182 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2785074Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#73643}
-
Patrick Thier authored
This is a reland of bdcd7d79 Handle lazy deopts when the current bytecode is JumpLoop. Instead of advancing to the next bytecode, re-execute the JumpLoop. TBR=jgruber@chromium.org, neis@chromium.org Original change's description: > [sparkplug][deoptimizer] Deoptimize to baseline. > > 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). > > Bug: v8:11420 > Change-Id: Iabaefb36c05155a435c7b380906a86d9b9d549fa > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2695591 > Commit-Queue: Patrick Thier <pthier@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73609} Bug: v8:11420 Change-Id: Ib8cac028121188ddc23ff29377760ed684eb7392 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2783035Reviewed-by: Patrick Thier <pthier@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/master@{#73636}
-
Sathya Gunasekaran authored
This reverts commit bdcd7d79. Reason for revert: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Blink%20Linux%20Future/7996/blamelist Original change's description: > [sparkplug][deoptimizer] Deoptimize to baseline. > > 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). > > Bug: v8:11420 > Change-Id: Iabaefb36c05155a435c7b380906a86d9b9d549fa > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2695591 > Commit-Queue: Patrick Thier <pthier@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73609} Bug: v8:11420 Change-Id: Ie8b936df343b9194c0a6e50e0c44b67c0d9a012d No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2783030 Auto-Submit: Sathya Gunasekaran <gsathya@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/master@{#73621}
-
- 23 Mar, 2021 1 commit
-
-
Patrick Thier authored
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). Bug: v8:11420 Change-Id: Iabaefb36c05155a435c7b380906a86d9b9d549fa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2695591 Commit-Queue: Patrick Thier <pthier@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#73609}
-
- 17 Mar, 2021 2 commits
-
-
Igor Sheludko authored
Bug: v8:11421 Change-Id: Ia4d3a20b9fdb5bc262cf480ece6e189aedff388f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2762143 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#73488}
-
Igor Sheludko authored
This is a speed-for-memory tradeoff, which can be achieved by re-mapping the builtins code blob into existing code range. The feature can be enabled by v8_enable_short_builtin_calls flag and it's off by default. This CL adds GN flag and updates code generator to emit shorter pc-relative calls/jumps to builtins. However, the runtime doesn't support appearance of the off-heap builtins' PCs that point to the embedded code blob on the stack yet. Bug: v8:11527, v8:11421 Change-Id: Iaba384c549675852beae70739175976ee193ffef Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2727502Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#73458}
-
- 24 Feb, 2021 1 commit
-
-
Leszek Swirski authored
We were using CmpInstanceType instead of CmpObjectType in some places, which meant that we were reading the value at the instance type field offset within objects directly, rather than first loading their map and reading the instance type there. Bug: chromium:1180434 Change-Id: I4771b4f8f9a32bdc35944c6e6cd30c54e4ac8b6c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2716292 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#73003}
-
- 22 Feb, 2021 2 commits
-
-
Toon Verwaest authored
Bug: v8:11429 Change-Id: I98b65613dc05f593644af45388b1f2c2a7df34a1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2712567 Auto-Submit: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#72923}
-
Toon Verwaest authored
Using StackFrame::MANUAL was a bit of a hack to avoid frame markers to be pushed, but manual in FrameScope means Enter/LeaveFrame aren't called at all. This decouples those things. Bug: v8:11429 Change-Id: Ie1603bb3c6858f0b97a75e4bb0b9bd1244de6cce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2707205 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#72909}
-