- 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}
-
- 08 Mar, 2022 1 commit
-
-
Deepti Gandluri authored
Codegen details detailed in the relevant github issue. https://github.com/WebAssembly/relaxed-simd/issues/21 Bug: v8:12284 Change-Id: I06c8859035abae775269bdf949ff0f1c2e262859 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3508560Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/main@{#79410}
-
- 03 Mar, 2022 2 commits
-
-
Deepti Gandluri authored
Prototype F32x4Relaxed(Min/Max) and F64x2Relaxed(Min/Max) operations for ARM. F32x4 variants map directly to vmin/vmax hardware instructions which are also used for F32x4(Min/Max) operations. The F64x2 variants are mapped in this implementation to Pmin/Pmax instructions as detailed in the github issue. https://github.com/WebAssembly/relaxed-simd/issues/33 Bug: v8:12284 Change-Id: I5ea939385fa0ae97bbdf776fc0b763cabb1b293c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3501347Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/main@{#79355}
-
Deepti Gandluri authored
With the previous change to using the mask as the first input to the node, the lane select ARM codegen is equivalent to V128Select. Also enable cctests to run on ARM. Bug: v8:12284 Change-Id: I5572f4845307ff20cc2a0a58d3ccf162caa436b5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3500655Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/main@{#79352}
-
- 18 Feb, 2022 1 commit
-
-
Dominik Inführ authored
When we know that the value in a write barrier is a map, we know that we are not going to have an old-to-new reference (maps are always in old generation). Therefore we also don't really need the generational barrier in RecordWrite. While this is technically correct, we don't gain much from this optimization. The inline and out-of-line generated code for the barrier is still the same as in all other cases. Which means that outside marking we don't even reach the RecordWrite builtin. Most write barrier executions happen outside incremental marking, hence performance of the incremental marking barrier isn't critical. This CL always uses the full RecordWrite builtin using a flag in order to allow for an easy revert. This CL is motivated by the shared heap work, which needs an additional always-on barrier in the future (similar to OLD_TO_NEW) to keep a OLD_TO_SHARED remembered set up-to-date. While maps are always in the old generation, they maybe by located in the shared heap. Bug: v8:11708 Change-Id: I71a6ded2547a0b2bbb9bbbd796dbcae0987b2232 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3471854Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#79160}
-
- 17 Jan, 2022 1 commit
-
-
Patrick Thier authored
The receiver is included unconditionally on all platforms (kJSArgcIncludesReceiver is always true). Remove all usages of kJSArgcIncludesReceiver from the code. Bug: v8:11112 Change-Id: I7d62e6de65b73fe6d8c3293f32b500b760b08a3e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3322980Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/main@{#78642}
-
- 16 Dec, 2021 1 commit
-
-
Seth Brenith authored
This reverts commit 00a757fa. Reason for revert: Caused perf regressions, https://crbug.com/1280236 Original change's description: > Shorten generated code for binary-search switches > > On some branches of the search tree for a binary-search switch, the > input value is sufficiently constrained that we could unconditionally > jump to the last possible case rather than checking for value equality. > This shortens some builtins by a few instructions and might speed things > up, though I expect the effect to be small. > > Change-Id: I2313f26976e6d3c182f03bd927b338c8175b3af3 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3335437 > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> > Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> > Cr-Commit-Position: refs/heads/main@{#78376} Bug: chromium:1280236 Change-Id: I88d9ff64641b85d48198b7012df2eeb9441913b5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3343234 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/main@{#78397}
-
- 15 Dec, 2021 1 commit
-
-
Samuel Groß authored
This CL renames a number of things related to the V8 sandbox. Mainly, what used to be under V8_HEAP_SANDBOX is now under V8_SANDBOXED_EXTERNAL_POINTERS, while the previous V8 VirtualMemoryCage is now simply the V8 Sandbox: V8_VIRTUAL_MEMORY_CAGE => V8_SANDBOX V8_HEAP_SANDBOX => V8_SANDBOXED_EXTERNAL_POINTERS V8_CAGED_POINTERS => V8_SANDBOXED_POINTERS V8VirtualMemoryCage => Sandbox CagedPointer => SandboxedPointer fake cage => partially reserved sandbox src/security => src/sandbox This naming scheme should simplify things: the sandbox is now the large region of virtual address space inside which V8 mainly operates and which should be considered untrusted. Mechanisms like sandboxed pointers are then used to attempt to prevent escapes from the sandbox (i.e. corruption of memory outside of it). Furthermore, the new naming scheme avoids the confusion with the various other "cages" in V8, in particular, the VirtualMemoryCage class, by dropping that name entirely. Future sandbox features are developed under their own V8_SANDBOX_X flag, and will, once final, be merged into V8_SANDBOX. Current future features are sandboxed external pointers (using the external pointer table), and sandboxed pointers (pointers guaranteed to point into the sandbox, e.g. because they are encoded as offsets). This CL then also introduces a new build flag, v8_enable_sandbox_future, which enables all future features. Bug: v8:10391 Change-Id: I5174ea8f5ab40fb96a04af10853da735ad775c96 Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng,v8_linux_arm64_sim_heap_sandbox_dbg_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3322981Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Cr-Commit-Position: refs/heads/main@{#78384}
-
- 14 Dec, 2021 2 commits
-
-
Seth Brenith authored
On some branches of the search tree for a binary-search switch, the input value is sufficiently constrained that we could unconditionally jump to the last possible case rather than checking for value equality. This shortens some builtins by a few instructions and might speed things up, though I expect the effect to be small. Change-Id: I2313f26976e6d3c182f03bd927b338c8175b3af3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3335437Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/main@{#78376}
-
Seth Brenith authored
We probably expect a binary-search switch to take log(n) time in all cases, but there is currently a possibility of that expectation being broken. I'm not aware of any place where this actually happens, but if the default handler immediately follows the switch dispatch block in assembly order, then unconditional jump instructions for that handler would be omitted. This omission could cause linear execution time, where every case is checked before falling through to the default handler. This change introduces a new function to emit an unconditional jump instruction regardless of whether the target is the following block, and uses that new function when generating a binary-search switch to ensure consistently log(n) behavior. Change-Id: I5cab86fd66386762519035410e3b532dc6fd764c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3335222Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/main@{#78370}
-
- 02 Nov, 2021 1 commit
-
-
Manos Koukoutos authored
Design doc: https://bit.ly/3jEVgzz Summary: We change the context for WasmJSFunction and WasmCapiFunction from a tuple containing the instance to a triple WasmAPIFunctionRef = {isolate root, context, callable}. This way we do not have to maintain the correct instance at runtime. Also, a few places in the code get simplified. Changes: - In WasmGraphBuilder, support having a WasmAPIFunctionRef at parameter 0. - Remove unpacking of (instance, callable) tuple from code generators. - Remove the part in WasmGraphBuilder and LiftoffCompiler that used to set the instance field of the function reference. - Modify code that handles the 'ref' field in wasm-objects.*, factory.* and c-api.cc. - Fix the recorded safepoint address for arm when calling a C function from wasm. - (Drive-by) Remove WasmAllocatePair. Bug: v8:11510 Change-Id: I2a4ef3abaf9da36c4a2d85b434965a40a289b9ec Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3236719 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/main@{#77639}
-
- 29 Oct, 2021 1 commit
-
-
Samuel Groß authored
A CagedPointer is guaranteed to point into the Virtual Memory Cage and will for example be used for ArrayBuffer backing stores when the heap sandbox is enabled. In the current implementation, CagedPointers are stored as offsets from the cage base, shifted to the left. Because the cage base address is usually available in a register, accessing a CagedPointer is very efficient, requiring only an additional shift and add operation. Bug: chromium:1218005 Change-Id: Ifc8c088e3862400672051a8c52840514dee2911f Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng,v8_linux_arm64_sim_heap_sandbox_dbg_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3123417Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Cr-Commit-Position: refs/heads/main@{#77614}
-
- 18 Oct, 2021 1 commit
-
-
Lei Zhang authored
Avoid generating switch statements with only a default case. Instead, when there are no instructions that can trap, simply have HasMemoryAccessMode() return false. This avoids a MSVC warning when doing a 32-bit build. To do this, remove empty TARGET_ARCH_OPCODE_WITH_MEMORY_ACCESS_MODE_LIST definitions from instruction-codes-$arch.h files. Change-Id: Ifed76eb9cbca169f30c188c1999e1e9be0b2c6aa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3224807Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org> Cr-Commit-Position: refs/heads/main@{#77441}
-
- 01 Oct, 2021 1 commit
-
-
Maya Lekova authored
This CL adds support for handling calls to C functions with arbitrary signatures on native arm64. It introduces a new ExternalReference type FAST_C_CALL. The CL also splits the 10 bits used by kArchCallCFunction instruction to store the total number of parameters into two 5-bit values, representing the number of general purpose and floating point parameters. Design doc: https://docs.google.com/document/d/1ZxOF3GSyNmtU0C0YJvrsydPJj35W_tTJZymeXwfDxoI/edit This CL is partially based on the previous attempt: https://chromium-review.googlesource.com/c/v8/v8/+/2343072 Bug: chromium:1052746 Change-Id: Ib508626d57da26ec3c9186ee8fc46356e3c87f3a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3182232Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/main@{#77198}
-
- 30 Sep, 2021 1 commit
-
-
Marja Hölttä authored
It's confusing that we have CSA_CHECK and CSA_ASSERT and it's not clear from the names that the former works in release mode and the latter only in debug mode. Renaming CSA_ASSERT to CSA_DCHECK makes it clear what it does. So now we have CSA_CHECK and CSA_DCHECK and they're not confusing. This also renames assert() in Torque to dcheck(). Bug: v8:12244 Change-Id: I6f25d431ebc6eec7ebe326b6b8ad3a0ac5e9a108 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3190104Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Shu-yu Guo <syg@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#77160}
-
- 24 Sep, 2021 2 commits
-
-
Jakob Kummerow authored
Bug: v8:12244,v8:12245 Change-Id: I3d9223f32bdc0d1cf7e5083996bc5707ab361e52 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3183162 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Auto-Submit: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/main@{#77062}
-
Georg Neis authored
Because these instructions can trap, we don't want them to be reordered as freely as unprotected accesses. As part of this, make explicit which opcodes support a MemoryAccessMode. Bug: v8:12018 Change-Id: I9db3053d7d62ffce6d3c95d62adce71ae40dae62 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3172770Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/main@{#77031}
-
- 07 Sep, 2021 1 commit
-
-
Patrick Thier authored
The receiver is now always included in the actual argument count and the formal parameter count. kDontAdaptArgumentsSentinel is changed from UINT16_MAX to 0 to preserve the maximum allowed declared parameters. The build flag activating the changes is not set for any architecture yet. Bug: v8:11112 Change-Id: I48a4969137949a1b4d1f47545209bb22b64e7e05 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3140608 Commit-Queue: Patrick Thier <pthier@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/main@{#76699}
-
- 20 Aug, 2021 1 commit
-
-
Nico Weber authored
Bug: chromium:1066980 Change-Id: Ib7d38cb46f25b69431fa965eb6b951af3f24bc95 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3111005 Auto-Submit: Nico Weber <thakis@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/main@{#76410}
-
- 19 Aug, 2021 3 commits
-
-
Shu-yu Guo authored
This is a reland of faf2208a Changes since revert: - Fix arm64 codegen for full pointer mode Original change's description: > [compiler] Support acq/rel accesses and atomic accesses on tagged > > This CL adds an AtomicMemoryOrder parameter to the various atomic load > and store operators. Currently only acquire release (kAcqRel) and > sequentially consistent (kSeqCst) orders are supported. > > Additionally, atomic loads and stores are extended to work with tagged > values. > > This CL is a pre-requisite for supporting atomic accesses in Torque, > which is in turn a pre-requisite for prototyping shared strings. > > Bug: v8:11995 > Change-Id: Ic77d2640e2dc7e5581b1211a054c93210c219355 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3101765 > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> > Reviewed-by: Zhi An Ng <zhin@chromium.org> > Commit-Queue: Shu-yu Guo <syg@chromium.org> > Cr-Commit-Position: refs/heads/main@{#76393} Bug: v8:11995 Change-Id: I23577486334fec6b08fb3a2f5be1f6e5e16db11b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3107220Reviewed-by:
Zhi An Ng <zhin@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#76399}
-
Nico Hartmann authored
This reverts commit faf2208a. Reason for revert: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20-%20arm64%20-%20sim%20-%20pointer%20compression/10870/overview Original change's description: > [compiler] Support acq/rel accesses and atomic accesses on tagged > > This CL adds an AtomicMemoryOrder parameter to the various atomic load > and store operators. Currently only acquire release (kAcqRel) and > sequentially consistent (kSeqCst) orders are supported. > > Additionally, atomic loads and stores are extended to work with tagged > values. > > This CL is a pre-requisite for supporting atomic accesses in Torque, > which is in turn a pre-requisite for prototyping shared strings. > > Bug: v8:11995 > Change-Id: Ic77d2640e2dc7e5581b1211a054c93210c219355 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3101765 > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> > Reviewed-by: Zhi An Ng <zhin@chromium.org> > Commit-Queue: Shu-yu Guo <syg@chromium.org> > Cr-Commit-Position: refs/heads/main@{#76393} Bug: v8:11995 Change-Id: Id9936672f9e96c509b1cdf866de1ac5303996945 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3107229Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#76394}
-
Shu-yu Guo authored
This CL adds an AtomicMemoryOrder parameter to the various atomic load and store operators. Currently only acquire release (kAcqRel) and sequentially consistent (kSeqCst) orders are supported. Additionally, atomic loads and stores are extended to work with tagged values. This CL is a pre-requisite for supporting atomic accesses in Torque, which is in turn a pre-requisite for prototyping shared strings. Bug: v8:11995 Change-Id: Ic77d2640e2dc7e5581b1211a054c93210c219355 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3101765Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Reviewed-by:
Zhi An Ng <zhin@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#76393}
-
- 13 Aug, 2021 1 commit
-
-
Shu-yu Guo authored
To free up some ArchOpcode bits (especially for arm64), encode all atomic opcodes that are duplicated between 32bit and 64bit widths with a single opcode and encode the width in another field. Bug: v8:12093 Change-Id: Ide05e8f0b2aa877ea776851e47df60dd410deae2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3093257Reviewed-by:
Zhi An Ng <zhin@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#76289}
-
- 12 Aug, 2021 1 commit
-
-
Ross McIlroy authored
These are no longer enabled, so remove the code mitigation logic from the codebase. BUG=chromium:1003890 Change-Id: I536bb1732e8463281c21da446bbba8f47ede8ebe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3045704 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#76256}
-
- 04 Aug, 2021 1 commit
-
-
Patrick Thier authored
This CL is a port of https://crrev.com/c/3045349 for ia32 and arm, adding helper methods to drop arguments from the stack. Drive-by: Add RootAsOperand to ia32. Bug: v8:11112 Change-Id: I07b753d51b9fc9fc91bf09618b1315d146827123 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3069157Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/master@{#76095}
-
- 02 Aug, 2021 1 commit
-
-
Clemens Backes authored
For large frames we are executing a special stack check that checks the remaining stack space before allocating the new frame. Different platforms used different limits for the frame size so far. Liftoff already uses 4KB everywhere, hence use the same limit also for TurboFan. Drive-by: Remove an outdated and misleading comment, and other minor simplification. R=ahaas@chromium.org Bug: v8:12017 Change-Id: I6548b2293ec255349bf4e08c26fd05b7e0df0497 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3063501Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#76034}
-
- 28 Jun, 2021 1 commit
-
-
Daan de Graaf authored
Bug: v8:11546 Change-Id: I40bc4b5e3c813edba4a194b086b63e19d1231e29 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2956729 Commit-Queue: Daan de Graaf <daagra@google.com> Reviewed-by:
Zhi An Ng <zhin@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#75416}
-
- 24 Jun, 2021 3 commits
-
-
Dan Elphick authored
This is a reland of 9701d4a4 with a small fix for some code landed in between the dry-run and submission. Original change's description: > [base] Move most of src/numbers into base > > Moves all but conversions.*, hash-seed-inl.h and math-random.* into > base, in preparation for moving the parts of conversions that don't > access HeapObjects. > > Also moves uc16 and uc32 out of commons/globals.h into base/strings.h. > > Bug: v8:11917 > Change-Id: Ife359148bb0961a63833aff40d26331454b6afb6 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979595 > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> > Auto-Submit: Dan Elphick <delphick@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75354} Bug: v8:11917 Change-Id: Ie1ec9032fe56646a7c7303185cecc70fce5694ae Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2982607Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#75368}
-
Nico Hartmann authored
This reverts commit 9701d4a4. Reason for revert: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Mac64/40802/overview Original change's description: > [base] Move most of src/numbers into base > > Moves all but conversions.*, hash-seed-inl.h and math-random.* into > base, in preparation for moving the parts of conversions that don't > access HeapObjects. > > Also moves uc16 and uc32 out of commons/globals.h into base/strings.h. > > Bug: v8:11917 > Change-Id: Ife359148bb0961a63833aff40d26331454b6afb6 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979595 > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> > Auto-Submit: Dan Elphick <delphick@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75354} Bug: v8:11917 Change-Id: Iacf796c95256016fa74f0a910c5bb1a86baa425a No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2982605 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#75356}
-
Dan Elphick authored
Moves all but conversions.*, hash-seed-inl.h and math-random.* into base, in preparation for moving the parts of conversions that don't access HeapObjects. Also moves uc16 and uc32 out of commons/globals.h into base/strings.h. Bug: v8:11917 Change-Id: Ife359148bb0961a63833aff40d26331454b6afb6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979595Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Auto-Submit: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#75354}
-
- 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}
-
- 10 Jun, 2021 1 commit
-
-
John Xu authored
For Cobalt's purpose in the past, we introduced base::Memcpy to intercept memcpy calls and replace it with SbMemoryCopy on Starboard/Cobalt. Recently Cobalt removed SbMemoryCopy because we found out that memcpy implementation is universal. To reduce the cost to maintain base::Memcpy, let us remove it and revert back to raw memcpy. Bug: v8:10927 Change-Id: I060f191f8f1aed8b78ffe4558a3743f3a2da008b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2951462Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: John Xu <johnx@google.com> Cr-Commit-Position: refs/heads/master@{#75070}
-
- 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}
-
- 19 May, 2021 1 commit
-
-
Camillo Bruni authored
Inline the RememberedSetAction and SaveFPMode flags directly into the RecordWrite stubs: - Save two register for input arguments - Avoid branches in the RecordWrite stubs We end up with 2 stubs for the EphemeronKeyBarrier and 4 stubs for RecordWrite. Due to more inlined calls we have roughly 1KiB more builtins code for RecordWrite currently. We will address this in the future by splitting out common code into a separate stub. There is no additional code size overhead for EphemeronKeyBarrier. This saves 4 to 8 bytes on x64 per RecordWrite call and 2.5% sparkplug code size reduction on d3.min.js. Bug: v8:11420 Change-Id: Ib7170265dd6dd4b3aaf8275083f096e76fae8251 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2902731Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#74661}
-
- 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}
-
- 10 May, 2021 2 commits
-
-
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}
-
Camillo Bruni authored
Checking for Smis is cheap. There is no need to put this in the deferred code block. With this CL we will bail out earlier for Smis. Bug: v8:11420 Change-Id: I52e39def633d7cb8bd51ae24d56d9582f56faf41 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2872826Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#74475}
-
- 04 May, 2021 1 commit
-
-
Clemens Backes authored
cpplint rules change over time, and we change the exact rules we enable for v8. This CL removes NOLINT annotations which are not needed according to the currently enabled rules. R=mslekova@chromium.org Bug: v8:11717 Change-Id: Ib7dc2c9dbb1710f4fe47e083df7e373e8b8aef27 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2859956Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#74353}
-
- 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}
-