Igor Sheludko 4ff2d3237e [runtime] Prepare for inlining CallHandlerInfo into FunctionTemplateInfo
... which will allow to remove one indirection when calling Api
functions.

This CL
 - introduces custom visitor for FunctionTemplateInfo,
 - stores flags, length and instance type values as raw data and
   packs length and instance type into 32-bits value,
 - stores FunctionTemplateInfo instead of CallHandlerInfo as an
   instance call handler for callable ObjectTemplates.

The latter comes with a memory overhead because FunctionTemplateInfo is
bigger than CallHandlerInfo but it's ok since callable ObjectTemplates
are rarely used in practice. It also temporarily adds an additional
indirection when calling callable Api objects until the CallHandlerInfo
is inlined into FunctionTemplateInfo.

Bug: chromium:326505377
Change-Id: I0a6645f228f413ff5412403e05aee1dfceb65966
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5329250
Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Patrick Thier <pthier@chromium.org>
Cr-Commit-Position: refs/heads/main@{#92597}
2024-02-29 09:09:56 +00:00
2024-01-17 10:56:58 +00:00
2019-05-15 12:06:15 +00:00
2017-07-28 13:39:24 +00:00
2021-08-24 10:39:33 +00:00
2022-08-04 08:53:02 +00:00
2024-01-11 08:57:35 +00:00
2024-02-28 17:09:51 +00:00
2020-10-20 22:12:28 +00:00
2020-04-24 19:19:36 +00:00
2022-09-13 07:54:54 +00:00
2021-08-16 13:05:19 +00:00
2021-09-08 01:38:52 +00:00
2023-01-23 17:07:21 +00:00
2023-01-23 17:07:21 +00:00
2023-02-06 13:41:05 +00:00

V8 JavaScript Engine

V8 is Google's open source JavaScript engine.

V8 implements ECMAScript as specified in ECMA-262.

V8 is written in C++ and is used in Google Chrome, the open source browser from Google.

V8 can run standalone, or can be embedded into any C++ application.

V8 Project page: https://v8.dev/docs

Getting the Code

Checkout depot tools, and run

    fetch v8

This will checkout V8 into the directory v8 and fetch all of its dependencies. To stay up to date, run

    git pull origin
    gclient sync

For fetching all branches, add the following into your remote configuration in .git/config:

    fetch = +refs/branch-heads/*:refs/remotes/branch-heads/*
    fetch = +refs/tags/*:refs/tags/*

Contributing

Please follow the instructions mentioned at v8.dev/docs/contribute.

S
Description
The bare minimum headers from v8 required to build sandstorm from source.
https://chromium.googlesource.com/v8/v8.git
Readme BSD-3-Clause
931 MiB
0 Stars 1 Watchers 0 Forks
Languages
Markdown 100%