deps: patch V8 to 13.7.152.13

Refs: https://github.com/v8/v8/compare/13.7.152.10...13.7.152.13
PR-URL: https://github.com/nodejs/node/pull/58539
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
This commit is contained in:
Node.js GitHub Bot 2025-06-02 21:07:59 -04:00 committed by GitHub
parent 790acc8689
commit 91b3bd3fe6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 25 additions and 11 deletions

View file

@ -11,7 +11,7 @@
#define V8_MAJOR_VERSION 13
#define V8_MINOR_VERSION 7
#define V8_BUILD_NUMBER 152
#define V8_PATCH_LEVEL 10
#define V8_PATCH_LEVEL 13
// Use 1 for candidates and 0 otherwise.
// (Boolean macro values are not supported by all preprocessors.)

View file

@ -953,7 +953,7 @@
},
'no_reclient': {
'gn_args': 'use_remoteexec=false',
'gn_args': 'use_remoteexec=false use_siso=false',
},
'no_sandbox': {
@ -968,8 +968,11 @@
'gn_args': 'v8_use_perfetto=true',
},
# TODO(https://crbug.com/414724525): Temporarily use the reclient and siso
# configs synonym. In a follow up we'll drop the reclient parts and replace
# them with SISO configs.
'reclient': {
'gn_args': 'use_remoteexec=true',
'gn_args': 'use_remoteexec=true use_siso=true',
},
'release': {

View file

@ -1344,7 +1344,12 @@ Node* RepresentationChanger::GetWord64RepresentationFor(
}
} else if (output_rep == MachineRepresentation::kTaggedSigned) {
if (output_type.Is(Type::SignedSmall())) {
op = simplified()->ChangeTaggedSignedToInt64();
if (output_type.IsRange() && output_type.AsRange()->Min() >= 0) {
node = InsertChangeTaggedSignedToInt32(node);
op = machine()->ChangeUint32ToUint64();
} else {
op = simplified()->ChangeTaggedSignedToInt64();
}
} else {
return TypeError(node, output_rep, output_type,
MachineRepresentation::kWord64);

View file

@ -325,10 +325,11 @@ class RedundantStoreAnalysis {
// TODO(nicohartmann@): Use the new effect flags to distinguish heap
// access once available.
const bool is_on_heap_store = store.kind.tagged_base;
const bool is_field_store = !store.index().valid();
const bool is_fixed_offset_store = !store.index().valid();
const uint8_t size = store.stored_rep.SizeInBytes();
// For now we consider only stores of fields of objects on the heap.
if (is_on_heap_store && is_field_store) {
// For now we consider only stores of fixed offsets of objects on the
// heap.
if (is_on_heap_store && is_fixed_offset_store) {
bool is_eliminable_store = false;
switch (table_.GetObservability(store.base(), store.offset, size)) {
case StoreObservability::kUnobservable:
@ -415,11 +416,16 @@ class RedundantStoreAnalysis {
// TODO(nicohartmann@): Use the new effect flags to distinguish heap
// access once available.
const bool is_on_heap_load = load.kind.tagged_base;
const bool is_field_load = !load.index().valid();
const bool is_fixed_offset_load = !load.index().valid();
// For now we consider only loads of fields of objects on the heap.
if (is_on_heap_load && is_field_load) {
table_.MarkPotentiallyAliasingStoresAsObservable(load.base(),
load.offset);
if (is_on_heap_load) {
if (is_fixed_offset_load) {
table_.MarkPotentiallyAliasingStoresAsObservable(load.base(),
load.offset);
} else {
// A dynamically indexed load might alias any fixed offset.
table_.MarkAllStoresAsObservable();
}
}
break;
}