- 20 Apr, 2022 1 commit
-
-
Liu Yu authored
Besides, enable float support on simulator. Port commit 098f31f4 Port commit a6da8161 As defined in https://loongson.github.io/LoongArch-Documentation/LoongArch-ELF-ABI-EN.html#_procedure_calling_convention Loongarch calling convention uses GP to pass floating-point arguments when no FP is available. Bug: v8:12614, chromium:1052746 Change-Id: I33d4115674604604b2b7e9178a306efb6000222b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3448195Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Yu Liu <liuyu@loongson.cn> Auto-Submit: Yu Liu <liuyu@loongson.cn> Cr-Commit-Position: refs/heads/main@{#80062}
-
- 16 Feb, 2022 1 commit
-
-
Paolo Severini authored
Allow Wasm to generate calls directly to Fast API C functions. Also fixes a problem when calling a Fast Api C function with no FastApiCallbackOptions from JS. This is a rebase of https://chromium-review.googlesource.com/c/v8/v8/+/3364356, which was a rebase of the work originally done by devsnek in: https://chromium-review.googlesource.com/c/v8/v8/+/2718666. Bug: chromium:1052746, chromium:1292333 Change-Id: Ic56268e7723f80f7ea9e6799e777786d3a50222f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3440694Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Manos Koukoutos <manoskouk@chromium.org> Commit-Queue: Paolo Severini <paolosev@microsoft.com> Cr-Commit-Position: refs/heads/main@{#79125}
-
- 31 Jan, 2022 1 commit
-
-
Paolo Severini authored
This reverts commit 7f26cbd2. Reason for revert: Issue 1292333: DCHECK failure in op->IsStackSlot() || op->IsFPStackSlot() in code-generator-x64.cc Original change's description: > [fastcall] Add Wasm entry for Fast API calls > > Allow Wasm to generate calls directly to Fast API C functions. > This massively reduces the overhead of these calls (~300%). > Currently options parameter is not supported. > > This is a reland of > https://chromium-review.googlesource.com/c/v8/v8/+/3364356 > with a fix to a data race. > > Bug: chromium:1052746 > Change-Id: I8c1c255419496d03a94ec2b443329842469586d5 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3398394 > Reviewed-by: Maya Lekova <mslekova@chromium.org> > Reviewed-by: Manos Koukoutos <manoskouk@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Commit-Queue: Paolo Severini <paolosev@microsoft.com> > Cr-Commit-Position: refs/heads/main@{#78714} Bug: chromium:1052746 Change-Id: Ieb3f6f836bd604b0e4c5801f082997831eb7ac26 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3426610 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Manos Koukoutos <manoskouk@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/main@{#78861}
-
- 25 Jan, 2022 1 commit
-
-
Anton Bikineev authored
The check finds implicit conversions of integer literals to bools: bool b1 = 1; bool b2 = static_cast<bool>(1); and transforms them to: bool b1 = true; bool b2 = true; Bug: chromium:1290142 Change-Id: I1fec7d7a6f25af23e9b9aac687f5896e79f17b51 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3406533 Auto-Submit: Anton Bikineev <bikineev@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/main@{#78753}
-
- 21 Jan, 2022 1 commit
-
-
Paolo Severini authored
Allow Wasm to generate calls directly to Fast API C functions. This massively reduces the overhead of these calls (~300%). Currently options parameter is not supported. This is a reland of https://chromium-review.googlesource.com/c/v8/v8/+/3364356 with a fix to a data race. Bug: chromium:1052746 Change-Id: I8c1c255419496d03a94ec2b443329842469586d5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3398394Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Manos Koukoutos <manoskouk@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Paolo Severini <paolosev@microsoft.com> Cr-Commit-Position: refs/heads/main@{#78714}
-
- 18 Jan, 2022 2 commits
-
-
Maya Lekova authored
This reverts commit bd72152e. Reason for revert: TSAN reports a data race, please see https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20TSAN%20-%20isolates/18124/overview Original change's description: > [fastcall] Add Wasm entry for Fast API calls > > Allow Wasm to generate calls directly to Fast API C functions. > This massively reduces the overhead of these calls (~300%). > Currently options parameter is not supported. > > This is a rebase of the work originally done by devsnek in: > https://chromium-review.googlesource.com/c/v8/v8/+/2718666. > > Bug: chromium:1052746 > Change-Id: I1bb1de68b440044cc8a4e528adf9d8e0e6692a07 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3364356 > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Manos Koukoutos <manoskouk@chromium.org> > Reviewed-by: Maya Lekova <mslekova@chromium.org> > Commit-Queue: Paolo Severini <paolosev@microsoft.com> > Cr-Commit-Position: refs/heads/main@{#78664} Bug: chromium:1052746 Change-Id: I957708cf1cff6ee8f90678ee48428f5c12f75a53 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3398121 Auto-Submit: Maya Lekova <mslekova@chromium.org> Owners-Override: Maya Lekova <mslekova@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@{#78665}
-
Paolo Severini authored
Allow Wasm to generate calls directly to Fast API C functions. This massively reduces the overhead of these calls (~300%). Currently options parameter is not supported. This is a rebase of the work originally done by devsnek in: https://chromium-review.googlesource.com/c/v8/v8/+/2718666. Bug: chromium:1052746 Change-Id: I1bb1de68b440044cc8a4e528adf9d8e0e6692a07 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3364356Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Manos Koukoutos <manoskouk@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Paolo Severini <paolosev@microsoft.com> Cr-Commit-Position: refs/heads/main@{#78664}
-
- 09 Dec, 2021 1 commit
-
-
Yu Liu authored
and mips64" This reverts commit 1d6dc2b9. Reason for revert: this modify is inconsistent with the allocation method of the parameter register on the real machine on loong64. Original change's description: > [loong64][mips64][fastcall] Enable float support on loong64 and mips64 > > Port commit 098f31f4 > > Bug: chromium:1052746 > > Change-Id: I4f9fd952c2ce8b51772eac89d4852d55363d1ed1 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3292352 > Auto-Submit: Liu yu <liuyu@loongson.cn> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Maya Lekova <mslekova@chromium.org> > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/main@{#78106} Bug: chromium:1052746 Change-Id: I392f5634cf7ddf208fa9effd32d4ffff941f6179 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3324343Reviewed-by:
Maya Lekova <mslekova@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Yu Liu <liuyu@loongson.cn> Cr-Commit-Position: refs/heads/main@{#78322}
-
- 26 Nov, 2021 1 commit
-
-
Liu Yu authored
Port commit 098f31f4 Bug: chromium:1052746 Change-Id: I4f9fd952c2ce8b51772eac89d4852d55363d1ed1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3292352 Auto-Submit: Liu yu <liuyu@loongson.cn> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#78106}
-
- 24 Nov, 2021 1 commit
-
-
Maya Lekova authored
This is a reland of d7c3f1cd. It fixes a build failure on native arm64. Original change's description: > Reland "[fastcall] Enable float support on arm64 simulator" > > This is a reland of b9ddcbc8 > > The original CL was reverted due to an MSAN issue, that is fixed by > moving the signature mapping onto the Isolate (instead of having > per-thread storage, which got invalid on multithreaded compilation). > > This CL also contains fixes for the Bazel config and for a data race > when obtaining the PerIsolateSimulatorData. > > Original change's description: > > [fastcall] Enable float support on arm64 simulator > > > > This CL adds support for handling calls to C functions with arbitrary > > signatures on the arm64 simulator. It adds infrastructure for > > encoding the signature data from CallDescriptor and FunctionInfo > > classes into a compact representation, stored in the simulator and > > called EncodedCSignature. > > > > Design doc: > > https://docs.google.com/document/d/1ZxOF3GSyNmtU0C0YJvrsydPJj35W_tTJZymeXwfDxoI/edit > > > > This CL is a follow up on the native support added in > > https://chromium-review.googlesource.com/c/v8/v8/+/3182232 > > and is partially based on the previous attempt: > > https://chromium-review.googlesource.com/c/v8/v8/+/2343072 > > > > Bug: chromium:1052746 > > Change-Id: I0991b47bd644b2fc2244c5eb923b085261f04765 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3060486 > > Commit-Queue: Maya Lekova <mslekova@chromium.org> > > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > > Cr-Commit-Position: refs/heads/main@{#77744} > > Bug: chromium:1052746, chromium:1267854 > Change-Id: I89bbd01e33fb1080543d98bcfd4c2d17b5c76861 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3270541 > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Commit-Queue: Maya Lekova <mslekova@chromium.org> > Cr-Commit-Position: refs/heads/main@{#78018} Bug: chromium:1052746, chromium:1267854 Change-Id: Ib495573569a6c930b8f9e5f1fe7ff46eb57a0aa7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3295461 Auto-Submit: Maya Lekova <mslekova@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#78063}
-
- 22 Nov, 2021 2 commits
-
-
Nico Hartmann authored
This reverts commit d7c3f1cd. Reason for revert: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Android%20Arm64%20-%20debug%20builder/22043/overview Original change's description: > Reland "[fastcall] Enable float support on arm64 simulator" > > This is a reland of b9ddcbc8 > > The original CL was reverted due to an MSAN issue, that is fixed by > moving the signature mapping onto the Isolate (instead of having > per-thread storage, which got invalid on multithreaded compilation). > > This CL also contains fixes for the Bazel config and for a data race > when obtaining the PerIsolateSimulatorData. > > Original change's description: > > [fastcall] Enable float support on arm64 simulator > > > > This CL adds support for handling calls to C functions with arbitrary > > signatures on the arm64 simulator. It adds infrastructure for > > encoding the signature data from CallDescriptor and FunctionInfo > > classes into a compact representation, stored in the simulator and > > called EncodedCSignature. > > > > Design doc: > > https://docs.google.com/document/d/1ZxOF3GSyNmtU0C0YJvrsydPJj35W_tTJZymeXwfDxoI/edit > > > > This CL is a follow up on the native support added in > > https://chromium-review.googlesource.com/c/v8/v8/+/3182232 > > and is partially based on the previous attempt: > > https://chromium-review.googlesource.com/c/v8/v8/+/2343072 > > > > Bug: chromium:1052746 > > Change-Id: I0991b47bd644b2fc2244c5eb923b085261f04765 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3060486 > > Commit-Queue: Maya Lekova <mslekova@chromium.org> > > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > > Cr-Commit-Position: refs/heads/main@{#77744} > > Bug: chromium:1052746, chromium:1267854 > Change-Id: I89bbd01e33fb1080543d98bcfd4c2d17b5c76861 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3270541 > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Commit-Queue: Maya Lekova <mslekova@chromium.org> > Cr-Commit-Position: refs/heads/main@{#78018} Bug: chromium:1052746, chromium:1267854 Change-Id: Ia8f10d085d13990b331f306957f95ecf3e003cfd No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3295453 Owners-Override: Nico Hartmann <nicohartmann@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/main@{#78019}
-
Maya Lekova authored
This is a reland of b9ddcbc8 The original CL was reverted due to an MSAN issue, that is fixed by moving the signature mapping onto the Isolate (instead of having per-thread storage, which got invalid on multithreaded compilation). This CL also contains fixes for the Bazel config and for a data race when obtaining the PerIsolateSimulatorData. Original change's description: > [fastcall] Enable float support on arm64 simulator > > This CL adds support for handling calls to C functions with arbitrary > signatures on the arm64 simulator. It adds infrastructure for > encoding the signature data from CallDescriptor and FunctionInfo > classes into a compact representation, stored in the simulator and > called EncodedCSignature. > > Design doc: > https://docs.google.com/document/d/1ZxOF3GSyNmtU0C0YJvrsydPJj35W_tTJZymeXwfDxoI/edit > > This CL is a follow up on the native support added in > https://chromium-review.googlesource.com/c/v8/v8/+/3182232 > and is partially based on the previous attempt: > https://chromium-review.googlesource.com/c/v8/v8/+/2343072 > > Bug: chromium:1052746 > Change-Id: I0991b47bd644b2fc2244c5eb923b085261f04765 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3060486 > Commit-Queue: Maya Lekova <mslekova@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/main@{#77744} Bug: chromium:1052746, chromium:1267854 Change-Id: I89bbd01e33fb1080543d98bcfd4c2d17b5c76861 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3270541Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/main@{#78018}
-
- 09 Nov, 2021 1 commit
-
-
Maya Lekova authored
This reverts commit b9ddcbc8. Reason for revert: Hits unreachable on MSAN, see https://bugs.chromium.org/p/chromium/issues/detail?id=1267854 Original change's description: > [fastcall] Enable float support on arm64 simulator > > This CL adds support for handling calls to C functions with arbitrary > signatures on the arm64 simulator. It adds infrastructure for > encoding the signature data from CallDescriptor and FunctionInfo > classes into a compact representation, stored in the simulator and > called EncodedCSignature. > > Design doc: > https://docs.google.com/document/d/1ZxOF3GSyNmtU0C0YJvrsydPJj35W_tTJZymeXwfDxoI/edit > > This CL is a follow up on the native support added in > https://chromium-review.googlesource.com/c/v8/v8/+/3182232 > and is partially based on the previous attempt: > https://chromium-review.googlesource.com/c/v8/v8/+/2343072 > > Bug: chromium:1052746 > Change-Id: I0991b47bd644b2fc2244c5eb923b085261f04765 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3060486 > Commit-Queue: Maya Lekova <mslekova@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/main@{#77744} Bug: chromium:1052746, chromium:1267854, chromium:1267841 Change-Id: If3d5aaab6b5f4309ce90add614d674aaa86b43c7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3268910 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#77788}
-
- 05 Nov, 2021 1 commit
-
-
Maya Lekova authored
This CL adds support for handling calls to C functions with arbitrary signatures on the arm64 simulator. It adds infrastructure for encoding the signature data from CallDescriptor and FunctionInfo classes into a compact representation, stored in the simulator and called EncodedCSignature. Design doc: https://docs.google.com/document/d/1ZxOF3GSyNmtU0C0YJvrsydPJj35W_tTJZymeXwfDxoI/edit This CL is a follow up on the native support added in https://chromium-review.googlesource.com/c/v8/v8/+/3182232 and is partially based on the previous attempt: https://chromium-review.googlesource.com/c/v8/v8/+/2343072 Bug: chromium:1052746 Change-Id: I0991b47bd644b2fc2244c5eb923b085261f04765 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3060486 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#77744}
-
- 27 Oct, 2021 1 commit
-
-
Maya Lekova authored
This CL exposes the helper class publicly to facilitate sequences implementation, as discussed in https://chromium-review.googlesource.com/c/chromium/src/+/3111815. Bug: chromium:1052746 Change-Id: I3f3c24412c022014fc15b563201a63ee0691f6bc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3236549 Auto-Submit: Maya Lekova <mslekova@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#77568}
-
- 25 Oct, 2021 1 commit
-
-
Maya Lekova authored
This CL fixes an issue in EffectControlLinearizer, where the primitive type of the argument of a fast C call was used to compute its MachineType even when the argument was actually a TypedArray, which should always be treated as a Tagged type. This resulted in Float32/64 typed arrays being passed in FP registers, leading to a crash in the register allocator. Drive-by fix: Fixed output from --trace-turbo-alloc so that all of its sub-parts are printed with PrintF, avoiding interleaved log lines. Bug: chromium:1260954 Change-Id: I249c8629daae3af437fb52f53f45211f3a214222 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3231341Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/main@{#77521}
-
- 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}
-
- 16 Sep, 2021 1 commit
-
-
Paolo Severini authored
Refactor TryCopyAndConvertArrayToCppBuffer to avoid using a CTypeInfo* pointer as template argument. Use instead a uint32 encoded value sufficient to reconstruct the CTypeInfo. Bug: v8:11739 Change-Id: I74052e59b3fa5ebed00cdb938504ba1947d959d7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3138832 Commit-Queue: Paolo Severini <paolosev@microsoft.com> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#76887}
-
- 24 Aug, 2021 1 commit
-
-
Dan Elphick authored
This is a reland of d1b27019 Fixes include: Adding missing file to bazel build Forward-declaring classing before friend-classing them to fix win/gcc Add missing v8-isolate.h include for vtune builds Original change's description: > [include] Split out v8.h > > This moves every single class/function out of include/v8.h into a > separate header in include/, which v8.h then includes so that > externally nothing appears to have changed. > > Every include of v8.h from inside v8 has been changed to a more > fine-grained include. > > Previously inline functions defined at the bottom of v8.h would call > private non-inline functions in the V8 class. Since that class is now > in v8-initialization.h and is rarely included (as that would create > dependency cycles), this is not possible and so those methods have been > moved out of the V8 class into the namespace v8::api_internal. > > None of the previous files in include/ now #include v8.h, which means > if embedders were relying on this transitive dependency then it will > give compile failures. > > v8-inspector.h does depend on v8-scripts.h for the time being to ensure > that Chrome continue to compile but that change will be reverted once > those transitive #includes in chrome are changed to include it directly. > > Full design: > https://docs.google.com/document/d/1rTD--I8hCAr-Rho1WTumZzFKaDpEp0IJ8ejZtk4nJdA/edit?usp=sharing > > Bug: v8:11965 > Change-Id: I53b84b29581632710edc80eb11f819c2097a2877 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097448 > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Commit-Queue: Dan Elphick <delphick@chromium.org> > Cr-Commit-Position: refs/heads/main@{#76424} Cq-Include-Trybots: luci.v8.try:v8_linux_vtunejit Bug: v8:11965 Change-Id: I99f5d3a73bf8fe25b650adfaf9567dc4e44a09e6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3113629Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Simon Zünd <szuend@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/main@{#76460}
-
- 23 Aug, 2021 3 commits
-
-
Dan Elphick authored
This reverts commit d1b27019. Reason for revert: Broke vtune build, tsan build and possibly others Original change's description: > [include] Split out v8.h > > This moves every single class/function out of include/v8.h into a > separate header in include/, which v8.h then includes so that > externally nothing appears to have changed. > > Every include of v8.h from inside v8 has been changed to a more > fine-grained include. > > Previously inline functions defined at the bottom of v8.h would call > private non-inline functions in the V8 class. Since that class is now > in v8-initialization.h and is rarely included (as that would create > dependency cycles), this is not possible and so those methods have been > moved out of the V8 class into the namespace v8::api_internal. > > None of the previous files in include/ now #include v8.h, which means > if embedders were relying on this transitive dependency then it will > give compile failures. > > v8-inspector.h does depend on v8-scripts.h for the time being to ensure > that Chrome continue to compile but that change will be reverted once > those transitive #includes in chrome are changed to include it directly. > > Full design: > https://docs.google.com/document/d/1rTD--I8hCAr-Rho1WTumZzFKaDpEp0IJ8ejZtk4nJdA/edit?usp=sharing > > Bug: v8:11965 > Change-Id: I53b84b29581632710edc80eb11f819c2097a2877 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097448 > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Commit-Queue: Dan Elphick <delphick@chromium.org> > Cr-Commit-Position: refs/heads/main@{#76424} Bug: v8:11965 Change-Id: Id57313ae992e720c8b19abc975cd69729e1344aa No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3113627 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Owners-Override: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#76428}
-
Maya Lekova authored
The fast_call_count getter in d8 was not properly initialised as throwing when called as a constructor. As a result, it was possible to pass a new object as its `this` and then attempt to "unwrap" it, resulting in reading OOB in the new object. This CL also strenghtens slow_call_count and reset_counts and adds a regression test. Bug: chromium:1241464 Change-Id: I9b6e9a4e38a974dc111a53b911c73514c30de9df Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3110369Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/main@{#76426}
-
Dan Elphick authored
This moves every single class/function out of include/v8.h into a separate header in include/, which v8.h then includes so that externally nothing appears to have changed. Every include of v8.h from inside v8 has been changed to a more fine-grained include. Previously inline functions defined at the bottom of v8.h would call private non-inline functions in the V8 class. Since that class is now in v8-initialization.h and is rarely included (as that would create dependency cycles), this is not possible and so those methods have been moved out of the V8 class into the namespace v8::api_internal. None of the previous files in include/ now #include v8.h, which means if embedders were relying on this transitive dependency then it will give compile failures. v8-inspector.h does depend on v8-scripts.h for the time being to ensure that Chrome continue to compile but that change will be reverted once those transitive #includes in chrome are changed to include it directly. Full design: https://docs.google.com/document/d/1rTD--I8hCAr-Rho1WTumZzFKaDpEp0IJ8ejZtk4nJdA/edit?usp=sharing Bug: v8:11965 Change-Id: I53b84b29581632710edc80eb11f819c2097a2877 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097448Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/main@{#76424}
-
- 19 Aug, 2021 1 commit
-
-
Paolo Severini authored
Functions CopyAndConvertArrayToCppBufferInt32 and CopyAndConvertArrayToCppBufferFloat64 used by specializations of template functions TryCopyAndConvertArrayToCppBuffer were removed with https://chromium-review.googlesource.com/c/v8/v8/+/3056988. Bug: v8:11739 Change-Id: I495b8878780adb7d2274cc733c7d4c5938171eb7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3095651 Commit-Queue: Paolo Severini <paolosev@microsoft.com> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#76384}
-
- 10 Aug, 2021 1 commit
-
-
Maya Lekova authored
This CL adds back the 8-byte element types and extends the fast API by hiding the unaligned memory reads performed for them. Bug: chromium:1052746 Change-Id: Ide49ce6bd2c77b9d2d544ca2df47b5f95c93eaa9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3056988 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#76207}
-
- 09 Aug, 2021 1 commit
-
-
Sathya Gunasekaran authored
Rather than depending on slow signature checks, receiver type checks are performed using fast numeric instance type checks. This CL adds a instance type range for embedders to assign values and uses these to perform type checks. Bug: v8:11476 Change-Id: Ie8236ae47ca0ba93ae76a7e690b81aa0a2b0f3e2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2883623Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#76162}
-
- 30 Jul, 2021 1 commit
-
-
Paolo Severini authored
Rename CopyAndConvertArrayToCppBuffer as TryCopyAndConvertArrayToCppBuffer and implement type specialization for int32_t and double in order to speed up V8 bindings with sequences. This API is used by Blink code, for example see https://chromium-review.googlesource.com/c/chromium/src/+/3027405. Bug: v8:11739 Change-Id: I026a7f5e7833fb1afcc2ea9c296b66c7f733cbb1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3036407 Commit-Queue: Paolo Severini <paolosev@microsoft.com> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#76016}
-
- 23 Jul, 2021 1 commit
-
-
Maya Lekova authored
This is a reland of 84d5b027 It removes support for 8-byte types which were causing unaligned reads. Original change's description: > [fastcall] Implement support for TypedArray arguments > > This CL adds TypedArrays as supported arguments for fast API calls. > It implements "exact type" matching, i.e. if Float32Array is expected > and e.g. Int32Array is passed instead, the generated code bails to the > slow callback. > > Bug: chromium:1052746, chromium:1018624 > Change-Id: I01d4e681d2b367cbb57b06effcb591c090a23295 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2999094 > Commit-Queue: Maya Lekova <mslekova@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75756} Bug: chromium:1052746, chromium:1018624 Change-Id: I872716d95bde8c340cf04990a3e4ae8ec8cd74a2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3035090Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#75877}
-
- 20 Jul, 2021 1 commit
-
-
Paolo Severini authored
Function CopyAndConvertArrayToCppBuffer doesn't work correctly with holey arrays. Bug: chromium:1230431, v8:11739 Change-Id: If24f645ebf4947f9efdccd1470ddf9e68c0b6780 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3037989Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Paolo Severini <paolosev@microsoft.com> Cr-Commit-Position: refs/heads/master@{#75823}
-
- 16 Jul, 2021 2 commits
-
-
Maya Lekova authored
This reverts commit 84d5b027. Reason for revert: Breaks UBSan - https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20UBSan/17349/overview Original change's description: > [fastcall] Implement support for TypedArray arguments > > This CL adds TypedArrays as supported arguments for fast API calls. > It implements "exact type" matching, i.e. if Float32Array is expected > and e.g. Int32Array is passed instead, the generated code bails to the > slow callback. > > Bug: chromium:1052746, chromium:1018624 > Change-Id: I01d4e681d2b367cbb57b06effcb591c090a23295 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2999094 > Commit-Queue: Maya Lekova <mslekova@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75756} Bug: chromium:1052746, chromium:1018624 Change-Id: I998afe766330f90efc878faa0e9546e709ddc4be No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3035088 Auto-Submit: Maya Lekova <mslekova@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@{#75758}
-
Maya Lekova authored
This CL adds TypedArrays as supported arguments for fast API calls. It implements "exact type" matching, i.e. if Float32Array is expected and e.g. Int32Array is passed instead, the generated code bails to the slow callback. Bug: chromium:1052746, chromium:1018624 Change-Id: I01d4e681d2b367cbb57b06effcb591c090a23295 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2999094 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#75756}
-
- 13 Jul, 2021 1 commit
-
-
Paolo Severini authored
For CopyAndConvertArrayToCppBuffer<T, type_info>(src, dst, length), type `T` can be deducible from `dst`, but `type_info` cannot be deducible so it's better to rewrite it as CopyAndConvertArrayToCppBuffer<type_info, T>(src, dst, length). Bug: v8:11739 Change-Id: Ic3a28671cf7576672dad2f21bf6acf87807c3b48 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3023006Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Paolo Severini <paolosev@microsoft.com> Cr-Commit-Position: refs/heads/master@{#75709}
-
- 09 Jul, 2021 1 commit
-
-
Paolo Severini authored
This CL implements the resolution of function overloads based on run-time checks of the type of arguments passed to the JS function. For the moment, the only supported overload resolution is between JSArrays and TypedArrays. Bug: v8:11739 Change-Id: Iabb79149f021037470a3adf071d1cccb6f00acd1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2987599Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Paolo Severini <paolosev@microsoft.com> Cr-Commit-Position: refs/heads/master@{#75664}
-
- 29 Jun, 2021 1 commit
-
-
Paolo Severini authored
Fix a sanitizer undefined behavior error found by the fuzzer in function AddAll32BitIntFastCallback_6Args, due to a possible integer underflow or overflow. Bug: chromium:1223873 Change-Id: Ibef53ce2b4421bed5154a694fb607d36f2bba28a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2993551Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#75435}
-
- 24 Jun, 2021 1 commit
-
-
Maya Lekova authored
This CL removes an unnecessary CHECK and replaces it with exception throwing instead. Bug: chromium:1223107 Change-Id: If99bf289fe3a2ed5cd675ee071e9b39038e38129 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2983201 Auto-Submit: Maya Lekova <mslekova@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#75361}
-
- 23 Jun, 2021 1 commit
-
-
Maya Lekova authored
This CL adds support in TurboFan for passing JSArrays as arguments to fast API callbacks. It also extends the v8::Array class with a CopyAndConvertArrayToCppBuffer method to allow the embedder to perform quick conversions of their JSArrays to a C++ buffer. The CL also adds tests in d8. Design doc: https://docs.google.com/document/d/1BNKKZNgrGYafx8kqSfNEQqQYY5n4A6mGufss_Vz-h-4/edit#heading=h.c0kgf82jnlpp Bug: chromium:1052746, chromium:715122 Change-Id: If47ac60d9ebe6462bbf3adff002e2da8e14e8fc8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2940900 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#75333}
-
- 27 May, 2021 1 commit
-
-
Paolo Severini authored
To support Fast API calls with overloads, implement compile-time function resolution based on the number of arguments passed to the JS function. Bug: v8:11739 Change-Id: I96839dc0b6fc540eff94573ac9e77f678908fc3a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2901249Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Paolo Severini <paolosev@microsoft.com> Cr-Commit-Position: refs/heads/master@{#74837}
-
- 18 May, 2021 1 commit
-
-
Paolo Severini authored
In order to support Fast API calls with overloads, store a FixedArray of c-function addresses and a FixedArray of the corresponding FunctionInfo*. For now keep using only the first function in the array. Bug: v8:11739 Change-Id: If23381aa9d04c5cd830043951da9c53836a36328 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2876592Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Paolo Severini <paolosev@microsoft.com> Cr-Commit-Position: refs/heads/master@{#74643}
-
- 12 May, 2021 1 commit
-
-
Maya Lekova authored
This CL enhances the fast C API in a way to allow passing the receiver to the fast callback as Local<Object> instead of Local<Value>. It also fixes documentation comments. Bug: chromium:1052746 Change-Id: I424aa83023c2e6633b9df08ee040bf170db32b3d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2887510 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#74519}
-
- 10 May, 2021 1 commit
-
-
Paolo Severini authored
As a first step to support Fast API calls with overloads, adds a new FunctionTemplate constructor that accepts a vector of CFunction*. Bug: v8:11739 Change-Id: I112b1746768f52df52c893a4f1fb799b6bd90856 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2860838Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Paolo Severini <paolosev@microsoft.com> Cr-Commit-Position: refs/heads/master@{#74481}
-
- 27 Apr, 2021 1 commit
-
-
Maya Lekova authored
This CL makes the object passed as argument to IsLeafTemplateForApiObject be received as a handle instead of a raw C++ pointer. From the codegen point of view, the memory representation is the same, so this doesn't change its semantics. Bug: chromium:1052746 Change-Id: Ibc116aa4d577ba95f30d1014f15f34ef3fbb1a35 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2851884Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#74220}
-