diff options
author | Michaël Zasso <targos@protonmail.com> | 2022-04-12 11:44:13 +0200 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2022-04-12 22:10:34 +0200 |
commit | 58f3fdcccde30c115e68e7b9877f55bad1984545 (patch) | |
tree | 6cd67ba3ea70b2f25e7a9ed5c9339986aca44d6d /deps/v8/src/compiler/access-info.cc | |
parent | eba7d2db7fcb6f186e1da1327884a481d5c1d743 (diff) | |
download | node-new-58f3fdcccde30c115e68e7b9877f55bad1984545.tar.gz |
deps: V8: cherry-pick semver-major commits from 10.2
Includes the following commits:
commit b2978927d8a96ebc814cccbc5a9f1c35910ee621
Remove dynamic map checks and custom deoptimization kinds
This CL removes:
- Dynamic map checks aka minimorphic property loads (TF support,
builtins).
- "Bailout" deopts (= drop to the interpreter once, but don't
throw out optimized code).
- "EagerWithResume" deopts (= part of dynamic map check
functionality, we call a builtin for the deopt check and deopt
or resume based on the result).
Fixed: v8:12552
Change-Id: I492cf1667e0f54586690b2f72a65ea804224b840
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3401585
commit f52f934119635058b179c2359fe070b8ee0f9233
PPC/s390: Remove dynamic map checks and custom deoptimization kinds
Port b2978927d8a96ebc814cccbc5a9f1c35910ee621
Original Commit Message:
This CL removes:
- Dynamic map checks aka minimorphic property loads (TF support,
builtins).
- "Bailout" deopts (= drop to the interpreter once, but don't
throw out optimized code).
- "EagerWithResume" deopts (= part of dynamic map check
functionality, we call a builtin for the deopt check and deopt
or resume based on the result).
R=jgruber@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com
BUG=
LOG=N
Change-Id: I64476f73810774c2c592231d82c4a2cbfa2bf94e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3537881
commit 38940b70986da6b43d18cb8cf8f0a3be36ca9010
[loong64][mips] Remove dynamic map checks and custom deoptimization kinds
Port commit b2978927d8a96ebc814cccbc5a9f1c35910ee621
Fixed: v8:12552
Change-Id: Ic2fbded9a662ed840a0350e3ce049e147fbf03a0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3541527
commit da5b5f66a6bd27df6249602378300c6961bc62b4
[riscv64] Remove dynamic map checks and custom deoptimization kinds
Port b2978927d8a96ebc814cccbc5a9f1c35910ee621
Bug: v8:12552
Change-Id: I73e76fc5cc8905a0fbfc801b2f794735866d19e8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3544725
commit ffae028b37991566c080c5528463f7d16017668c
Forward deprecation for resurrecting finalizer
Bug: v8:12672
Change-Id: Ib4f53086436e028b4ea32fbc960f57e91709d184
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3532256
commit f6386018d472665e36d662c8b159d95325999d69
[api] Remove TracedGlobal<>
Remove deprecated TracedGlobal<>, greatly simplifying handling of
traced references in general.
Also saves a word per v8::TracedReference as there's no need to keep a
possible callback around.
Bug: v8:12603
Change-Id: Ice35d7906775b912d02e97a27a722b3e1cec28d9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3532251
commit a8beac553b0a1639bc9790c2d6f82caf6b2e150f
Deprecate some signature checks
Deprecate signature checks in
* Template::SetNativeDataProperty
* ObjectTemplate::SetAccessor
These are not used in Chrome and require some complicated check in the IC code, which we want to remove.
Change-Id: I413fafc8658e922fd590e7fe200600a624f019a6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3557253
commit cff2b5000a1aa417a9c4499bcfa3ffda4542f4f1
Deprecate signature checks in Set{Accessor,NativeDataProperty}
Change from V8_DEPRECATE_SOON to V8_DEPRECATED. It turned out that we
don't have to make changes in chrome code, so we can go to deprecated
right away.
Bug: chromium:1310790
Change-Id: I1bd529536d3a0098f11f13b3e44fe3dbc80eed04
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3571897
commit 9238afb0c0ee52c9111a7e9f2f055137628771ad
Allow embedder to set global OOM handler
Embedders can currently specify a callback for OOM errors during
Isolate initialization. However, there are cases where an OOM error can
be thrown in a context where we don't have access to an Isolate, for
example on a task posted to a worker thread. This CL introduces an
initialization API to allow the embedder to specify a process-wide OOM
callback.
Bug: chromium:614440
Change-Id: I326753d80767679f677e85104d9edeef92e19086
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3561916
commit ca51ae3ac8b468509603633adb6ee3b3be9306ec
[api][profiler] Get StartProfiling, StopProfiling to accept integer ID rather than string
This CL adds support for interacting with CpuProfile with their integer
id.
A String ID is problematic because it forces an allocation when stopping
or cancelling a Profiler which can happen during a GC when this
is not allowed.
Change-Id: I9a8e754bd67214be0bbc5ca051bcadf52bf71a68
Bug: chromium:1297283
Co-Authored-By: Nicolas Dubus <nicodubus@fb.com>
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3522896
Refs: https://github.com/v8/v8/commit/b2978927d8a96ebc814cccbc5a9f1c35910ee621
Refs: https://github.com/v8/v8/commit/f52f934119635058b179c2359fe070b8ee0f9233
Refs: https://github.com/v8/v8/commit/38940b70986da6b43d18cb8cf8f0a3be36ca9010
Refs: https://github.com/v8/v8/commit/da5b5f66a6bd27df6249602378300c6961bc62b4
Refs: https://github.com/v8/v8/commit/ffae028b37991566c080c5528463f7d16017668c
Refs: https://github.com/v8/v8/commit/f6386018d472665e36d662c8b159d95325999d69
Refs: https://github.com/v8/v8/commit/a8beac553b0a1639bc9790c2d6f82caf6b2e150f
Refs: https://github.com/v8/v8/commit/cff2b5000a1aa417a9c4499bcfa3ffda4542f4f1
Refs: https://github.com/v8/v8/commit/9238afb0c0ee52c9111a7e9f2f055137628771ad
Refs: https://github.com/v8/v8/commit/ca51ae3ac8b468509603633adb6ee3b3be9306ec
PR-URL: https://github.com/nodejs/node/pull/42657
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Diffstat (limited to 'deps/v8/src/compiler/access-info.cc')
-rw-r--r-- | deps/v8/src/compiler/access-info.cc | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/deps/v8/src/compiler/access-info.cc b/deps/v8/src/compiler/access-info.cc index 67283d9da1..53cab92b8e 100644 --- a/deps/v8/src/compiler/access-info.cc +++ b/deps/v8/src/compiler/access-info.cc @@ -178,20 +178,6 @@ PropertyAccessInfo PropertyAccessInfo::DictionaryProtoAccessorConstant( constant, property_name, {{receiver_map}, zone}); } -// static -MinimorphicLoadPropertyAccessInfo MinimorphicLoadPropertyAccessInfo::DataField( - int offset, bool is_inobject, Representation field_representation, - Type field_type) { - return MinimorphicLoadPropertyAccessInfo(kDataField, offset, is_inobject, - field_representation, field_type); -} - -// static -MinimorphicLoadPropertyAccessInfo MinimorphicLoadPropertyAccessInfo::Invalid() { - return MinimorphicLoadPropertyAccessInfo( - kInvalid, -1, false, Representation::None(), Type::None()); -} - PropertyAccessInfo::PropertyAccessInfo(Zone* zone) : kind_(kInvalid), lookup_start_object_maps_(zone), @@ -262,15 +248,6 @@ PropertyAccessInfo::PropertyAccessInfo( dictionary_index_(dictionary_index), name_{name} {} -MinimorphicLoadPropertyAccessInfo::MinimorphicLoadPropertyAccessInfo( - Kind kind, int offset, bool is_inobject, - Representation field_representation, Type field_type) - : kind_(kind), - is_inobject_(is_inobject), - offset_(offset), - field_representation_(field_representation), - field_type_(field_type) {} - namespace { template <class RefT> @@ -682,20 +659,6 @@ PropertyAccessInfo AccessInfoFactory::ComputeDictionaryProtoAccessInfo( access_mode, get_accessors); } -MinimorphicLoadPropertyAccessInfo AccessInfoFactory::ComputePropertyAccessInfo( - MinimorphicLoadPropertyAccessFeedback const& feedback) const { - DCHECK(feedback.handler()->IsSmi()); - int handler = Smi::cast(*feedback.handler()).value(); - bool is_inobject = LoadHandler::IsInobjectBits::decode(handler); - bool is_double = LoadHandler::IsDoubleBits::decode(handler); - int offset = LoadHandler::FieldIndexBits::decode(handler) * kTaggedSize; - Representation field_rep = - is_double ? Representation::Double() : Representation::Tagged(); - Type field_type = is_double ? Type::Number() : Type::Any(); - return MinimorphicLoadPropertyAccessInfo::DataField(offset, is_inobject, - field_rep, field_type); -} - bool AccessInfoFactory::TryLoadPropertyDetails( MapRef map, base::Optional<JSObjectRef> maybe_holder, NameRef name, InternalIndex* index_out, PropertyDetails* details_out) const { |