| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
buganizer: fix component IDs in DIR_METADATA This only matches the old monorail components. Bug: 341800538 Change-Id: Id74fbdb3b9be0c858b77af84966c6c37adf78c5c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6025833 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Auto-Submit: Paul Semel <paulsemel@chromium.org> Commit-Queue: Paul Semel <paulsemel@chromium.org> Cr-Commit-Position: refs/heads/main@{#97252} | 1 年前 | |
[owners] Add olivf@ to ic No-Try: true Change-Id: I22d314af914bcbe0ec8a9fd2a5f3e22be6f719a2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5797191 Commit-Queue: Olivier Flückiger <olivf@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#95714} | 1 年前 | |
2026.03.30 arkweb_144代码蓝黄同步 Signed-off-by: jiujiaoxiaogula <sujiahao10@huawei.com> Change-Id: I00194d339064f999dedfc211cd5af5501cbed0fb | 3 个月前 | |
Sparkplug+: support patchable baseline code A bytecode handler for an operation is often a generic handler that deal with different types of inputs. This make the baseline compiler to generate a call to a generic builtin for that operation. The generic builtin can deal with all types of inputs, but this makes the builtin very large and introduces a lot of branches to distinguish inputs' types, which hurts the performance. Sparkplug+ introduces some small and specific handlers to deal with one single type of input. For example, this CL introduces some small monomorphic handlers for builtin LoadIC to deal with one specific kind of IC. We will patch the baseline code to use these specific handlers on IC misses dynamically. Bug: chromium:429351411 Change-Id: I85f842ae4050eebbdd8d25d5e113deae743c95d0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6627216 Commit-Queue: Xu, Hao A <hao.a.xu@intel.com> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#103495} | 7 个月前 | |
Reapply "[string] Extend caching for string-add-as-property-key" Original change's description: > [string] Extend caching for string-add-as-property-key > > .. to also handle the o[str + "constant"] case, i.e. where the rhs is > a string constant. > > Bug: 411350915 > Change-Id: Ia70b9b35b955686b61a3618be9fe8159fa37fba1 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6578310 > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Commit-Queue: Jakob Linke <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/main@{#100494} Bug: 411350915 Fixed: 420437007 Fixed: 420401642 Change-Id: Ib0bc9f9d1cd1b169e4448ac9aec08bb652f18a71 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6590631 Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#100514} | 1 年前 | |
Reapply "[string] Extend caching for string-add-as-property-key" Original change's description: > [string] Extend caching for string-add-as-property-key > > .. to also handle the o[str + "constant"] case, i.e. where the rhs is > a string constant. > > Bug: 411350915 > Change-Id: Ia70b9b35b955686b61a3618be9fe8159fa37fba1 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6578310 > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Commit-Queue: Jakob Linke <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/main@{#100494} Bug: 411350915 Fixed: 420437007 Fixed: 420401642 Change-Id: Ib0bc9f9d1cd1b169e4448ac9aec08bb652f18a71 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6590631 Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#100514} | 1 年前 | |
Reland "[handles] Migration to direct handles, part 12" This is a reland of commit 5fa54d85a10049a55ba2fa02bc05145ddee7d19a Original change's description: > [handles] Migration to direct handles, part 12 > > This CL migrates a large number of handles to direct handles. The > changes are only relevant for builds with v8_enable_direct_handle=true. > > Affected source directories: api, asmjs, ast, builtins, codegen, > compiler, d8, debug, deoptimizer, diagnostics, execution, extensions, > heap, ic, init, interpreter, json, maglev, objects, parsing, profiler, > regexp, runtime, snapshot, strings, wasm, and tests. > > Bug: 42203211 > Change-Id: I2334b3295e5780e8f52d0b13d1545dce29fcf81e > Cq-Include-Trybots: luci.v8.try:v8_linux64_css_dbg > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6181904 > Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org> > Reviewed-by: Omer Katz <omerkatz@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/main@{#98240} Bug: 42203211 Change-Id: Ie21acd681c12e7212185d61a19bd858365650204 Cq-Include-Trybots: luci.v8.try:v8_linux64_css_dbg Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6187462 Reviewed-by: Omer Katz <omerkatz@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Nikolaos Papaspyrou <nikolaos@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/main@{#98249} | 1 年前 | |
[handles] Migration to direct handles, part 14 This CL migrates a large number of handles to direct handles. The changes are only relevant for builds with v8_enable_direct_handle=true. Affected source directories: heap, ic, init, objects, runtime, and tests. Bug: 42203211 Change-Id: I518a113be0936313151a3e2ab387410afd338286 Cq-Include-Trybots: luci.v8.try:v8_linux64_css_dbg Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6206847 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Omer Katz <omerkatz@chromium.org> Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org> Cr-Commit-Position: refs/heads/main@{#98407} | 1 年前 | |
[runtime][ic][api] Pass proper holder to Api callbacks This is a follow-up to v8::PropertyCallbackInfo<T>::Holder() removal, this CL makes sure that the holder passed is never a hidden prototype and removes special handling of this case from implementation of v8::PropertyCallbackInfo<T>::HolderV2(). Drive-by: - in KeyAccumulator::FilterForEnumerableProperties() reuse the existing PropertyCallbackArguments object since it's the same for all callback calls, - fix crashes when calling %DebugPrint() with weak pointers, - fix LoadHandler::LoadInterceptorHolderIsLookupStartupObject() to make it load the holder from data handler when holder is a global object. Bug: 333672197 Change-Id: Ie83b126f52bd491eec7e217eb12f4a7507c11bc4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7184979 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#103883} | 7 个月前 | |
[runtime][ic][api] Pass proper holder to Api callbacks This is a follow-up to v8::PropertyCallbackInfo<T>::Holder() removal, this CL makes sure that the holder passed is never a hidden prototype and removes special handling of this case from implementation of v8::PropertyCallbackInfo<T>::HolderV2(). Drive-by: - in KeyAccumulator::FilterForEnumerableProperties() reuse the existing PropertyCallbackArguments object since it's the same for all callback calls, - fix crashes when calling %DebugPrint() with weak pointers, - fix LoadHandler::LoadInterceptorHolderIsLookupStartupObject() to make it load the holder from data handler when holder is a global object. Bug: 333672197 Change-Id: Ie83b126f52bd491eec7e217eb12f4a7507c11bc4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7184979 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#103883} | 7 个月前 | |
[runtime][ic][api] Pass proper holder to Api callbacks This is a follow-up to v8::PropertyCallbackInfo<T>::Holder() removal, this CL makes sure that the holder passed is never a hidden prototype and removes special handling of this case from implementation of v8::PropertyCallbackInfo<T>::HolderV2(). Drive-by: - in KeyAccumulator::FilterForEnumerableProperties() reuse the existing PropertyCallbackArguments object since it's the same for all callback calls, - fix crashes when calling %DebugPrint() with weak pointers, - fix LoadHandler::LoadInterceptorHolderIsLookupStartupObject() to make it load the holder from data handler when holder is a global object. Bug: 333672197 Change-Id: Ie83b126f52bd491eec7e217eb12f4a7507c11bc4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7184979 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#103883} | 7 个月前 | |
[build] Reduce size of inline header cycles This removes/replaces header includes with the aim of shrinking the size of the inline header cycle. Specifically before this CL, there was a single Strongly-Connected Component comprising 60 header files from src/objects and src/heap. Now there are two 2 SCCs. The src/heap SCC has 6 files and depends on the src/objects SCC, which has 50 files. Additionally some previously implicit dependencies have been added. Dependencies calculated using: git grep "#include \"" *.h *.cc | sed 's/:#include "/ /;s/".*$//' | \ awk 'BEGIN {print "digraph deps {" } END {print "}"} {print "\""$1"\" -> \""$2"\""}' SCCs found using sccmap from graphviz. Also removes unused Cell::FromValueAddress method. Change-Id: Ib19d00ccd14e490ee64d57be4d99b1b3686ac32a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2951734 Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#75103} | 4 年前 | |
[cleanup] Fix inl header includes We have many inl headers which either do not include their non-inl header, or are including other headers first. Both can lead to compile errors because definitions of inline functions might not be visible in inl headers. This CL adds a script to fix those includes, and runs it over the whole code base. R=leszeks@chromium.org Change-Id: I1b7b04c59e5a5b89308512bfc40729f7ec4afc38 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6387805 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#99453} | 1 年前 | |
Remove some unintentional copies in for range loops auto with no qualifiers copies; none of these loops actually need a copy though. Bug: chromium:406927307 Change-Id: Ib627173f476a8b2086a14c28729af8c25a20ff0c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6408752 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Daniel Cheng <dcheng@chromium.org> Reviewed-by: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/main@{#99597} | 1 年前 | |
[sandbox] Introduce IsolateForSandbox This is a view of an Isolate that only exposed the sandbox-related parts, in particular the various pointer tables stored on an Isolate. Introducing this class achieves two things: 1. It allows accessing pointer table entries given either a Isolate* or a LocalIsolate*. Both of these are valid, but previously we didn't have proper APIs for using a LocalIsolate. 2. It makes it obvious when an isolate is only required for the sandbox. Previously, we sometimes names the parameter isolate_for_sandbox, but this was only done inconsistently. As an added benefit, this CL also moves previously duplicated logic for obtaining the appropriate external pointer table into the new IsolateForSandbox class, thereby recuding code duplication. With this change, we also forbid passing a nullptr Isolate into the pointer accessor routines, which was previously allowed for code pointers as these do not yet need an isolate. As such, we have to pass an isolate into a number of additional function now. However, it is expected that this will anyway be necessary in the future when the code pointer table also becomes a per-Isolate table. Bug: chromium:1503631 Change-Id: I0bdcacf5da6c5b13de828d72e9ec4bfb3313f9e1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5043729 Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Cr-Commit-Position: refs/heads/main@{#91102} | 2 年前 | |
Revert "[api] Prepare for passing flags to Api callbacks in isolate slot" This reverts commit 41fc89c1675988305b257d68cc4ec9fa7e6df148. Reason for revert: causes perf regression https://crbug.com/462926099 Original change's description: > [api] Prepare for passing flags to Api callbacks in isolate slot > > This is a preliminary step towards removing kShouldThrowOnErrorIndex > slot from v8::PropertyCallbackInfo<T> and kNewTargetIndex slot from > v8::FunctionCallbackInfo<T> for non-constructor calls. > > Bug: 326505377, 455600234 > Change-Id: Icbe384815583844e73ac630372bc38c8dc220ada > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7185161 > Commit-Queue: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/main@{#103887} Fixed: 462926099 Bug: 326505377, 455600234 Change-Id: Iae68f106e3a96d3adec8ad4aee9ab4c72e0b90a8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7203996 Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#103997} | 7 个月前 | |
Sparkplug+: support patchable baseline code A bytecode handler for an operation is often a generic handler that deal with different types of inputs. This make the baseline compiler to generate a call to a generic builtin for that operation. The generic builtin can deal with all types of inputs, but this makes the builtin very large and introduces a lot of branches to distinguish inputs' types, which hurts the performance. Sparkplug+ introduces some small and specific handlers to deal with one single type of input. For example, this CL introduces some small monomorphic handlers for builtin LoadIC to deal with one specific kind of IC. We will patch the baseline code to use these specific handlers on IC misses dynamically. Bug: chromium:429351411 Change-Id: I85f842ae4050eebbdd8d25d5e113deae743c95d0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6627216 Commit-Queue: Xu, Hao A <hao.a.xu@intel.com> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#103495} | 7 个月前 | |
2026.03.30 arkweb_144代码蓝黄同步 Signed-off-by: jiujiaoxiaogula <sujiahao10@huawei.com> Change-Id: I00194d339064f999dedfc211cd5af5501cbed0fb | 3 个月前 | |
[torque] Emit TNode<Union<...>> for Union types ... and propagate this throughought the CSA code, predominantly transitively propagating JSAny. To make this easier, there is additional support for: * Compatibility between torque definitions of types via Unions and C++ definitions of some types (e.g. handling MaybeObject which is a single type in C++ and a Union in torque). We will want to align these more closely in the future. * A new Union::Without helper to remove types from a Union (e.g. after a Smi check). Bug: 42202654 Change-Id: I85f4b007d071d912966e4f00571058e79a3fd70f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6269398 Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/main@{#98722} | 1 年前 | |
[ic][test] Fix StubCache test and add DCHECK for correct cage The handlers stored in the StubCache data structure must be either Smi or heap-allocated objects living in the regular cage (when pointer compression is enabled), because they are stored in the cache as compressed pointers and StubCache::Get() implicitly uses the regular cage base. This CL adds a DCHECK to StubCache::Set() enforcing this. It also fixes the cctest TryProbeStubCache, which until now stored handlers that lived in the code cage, and adds one more basic test. Change-Id: If2c6e7c0b361b2c9acadf86bb383d8cd4ca13705 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6387118 Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org> Cr-Commit-Position: refs/heads/main@{#99411} | 1 年前 | |
[tagged-ptr] Introduce MaybeWeak for MaybeObject Introduce MaybeWeak<T> as a weakness sentinel type, representing a value in a Tagged<>/Handle<>/TNode<> which can be weak. This fulfils the role of MaybeObject in a more generic way, and indeed MaybeObject becomes a typedef for MaybeWeak<Object>. The methods on MaybeObject and HeapObjectReference become free functions, or are removed entirely in favour of implicit conversions (after all, any strong ref is also a maybe weak ref). This requires a few new specializations of Tagged, and some additional conversion logic. This CL is designed to be minimally invasive, converting MaybeObject to Tagged<MaybeObject> but trying to use the typedef and TaggedImpl methods as much as possible to minimise non-trivial code changes. In the future, we'll want to add a distinct Weak<T> for definitely weak values, and have conversions from Tagged<MaybeWeak<T>> to Tagged<T> that don't erase the type. Bug: v8:12710 Change-Id: I1b5df70b3d2028d46a09ca2cd9bd894a3fd8cb27 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5268603 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#92409} | 2 年前 | |
[jumbo] Split CSA_ macros out of code-stub-assembler.h. Putting these in a separate file makes the header more fine-grained -- not everyone who #includes code-stub-assdembler.h needs these. (Along similar lines, this also moves some macros that are only used by a single file to that file directly.) Both these changes fractionally reduce input size to the compiler, too. This also makes it easier/more parallel to undefine these symbols when they're no longer used, which is necessary for the build configuration experiments I'm doing. Bug: none Change-Id: I5e490670d8ab14fc9a22f9f92203b23cda03a93e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5774207 Auto-Submit: Peter Kasting <pkasting@chromium.org> Commit-Queue: Peter Kasting <pkasting@chromium.org> Reviewed-by: Daniel Lehmann <dlehmann@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#95785} | 1 年前 | |
[cleanup] Create UpdateFeedbackMode enum Change-Id: I9f41fc97c2ca9a1c62b1de4ee8c9878d5d69b560 Bug: v8:11429 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2697195 Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/master@{#72772} | 5 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 年前 | ||
| 1 年前 | ||
| 3 个月前 | ||
| 7 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 7 个月前 | ||
| 7 个月前 | ||
| 7 个月前 | ||
| 4 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 7 个月前 | ||
| 7 个月前 | ||
| 3 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 5 年前 |