Skip to content

Commit 58c7034

Browse files
joyeecheungrichardlau
authored andcommitted
deps: V8: cherry-pick 705e374124ae
Original commit message: [symbol-as-weakmap-key] Ship the proposal I2S with 3 LGTMs: https://groups.google.com/a/chromium.org/g/blink-dev/c/E6pDZP_TiBA/m/ZcXLwiz8AAAJ Bug: v8:12947 Change-Id: Ibce4abc8b0610afb2041d44cc9ed136db8b62c0d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4004610 Commit-Queue: Shu-yu Guo <[email protected]> Reviewed-by: Camillo Bruni <[email protected]> Cr-Commit-Position: refs/heads/main@{#84128} Refs: v8/v8@705e374 PR-URL: #51004 Reviewed-By: Chengzhong Wu <[email protected]>
1 parent b0e8889 commit 58c7034

18 files changed

+13
-43
lines changed

common.gypi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636

3737
# Reset this number to 0 on major V8 upgrades.
3838
# Increment by one for each non-official patch applied to deps/v8.
39-
'v8_embedder_string': '-node.34',
39+
'v8_embedder_string': '-node.35',
4040

4141
##### V8 defaults for Node.js #####
4242

deps/v8/src/builtins/builtins-collections-gen.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -399,6 +399,7 @@ TNode<IntPtrT> BaseCollectionsAssembler::EstimatedInitialSize(
399399
[=] { return IntPtrConstant(0); });
400400
}
401401

402+
// https://tc39.es/ecma262/#sec-canbeheldweakly
402403
void BaseCollectionsAssembler::GotoIfCannotBeHeldWeakly(
403404
const TNode<Object> obj, Label* if_cannot_be_held_weakly) {
404405
Label check_symbol_key(this);
@@ -411,7 +412,6 @@ void BaseCollectionsAssembler::GotoIfCannotBeHeldWeakly(
411412
GotoIf(IsJSSharedStructInstanceType(instance_type), if_cannot_be_held_weakly);
412413
Goto(&end);
413414
Bind(&check_symbol_key);
414-
GotoIfNot(HasHarmonySymbolAsWeakmapKeyFlag(), if_cannot_be_held_weakly);
415415
GotoIfNot(IsSymbolInstanceType(instance_type), if_cannot_be_held_weakly);
416416
TNode<Uint32T> flags = LoadSymbolFlags(CAST(obj));
417417
GotoIf(Word32And(flags, Symbol::IsInPublicSymbolTableBit::kMask),

deps/v8/src/builtins/builtins-weak-refs.cc

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,19 @@
99
namespace v8 {
1010
namespace internal {
1111

12-
// https://tc39.es/proposal-symbols-as-weakmap-keys/#sec-finalization-registry.prototype.unregister
12+
// https://tc39.es/ecma262/#sec-finalization-registry.prototype.unregister
1313
BUILTIN(FinalizationRegistryUnregister) {
1414
HandleScope scope(isolate);
1515
const char* method_name = "FinalizationRegistry.prototype.unregister";
1616

1717
// 1. Let finalizationGroup be the this value.
1818
//
19-
// 2. If Type(finalizationGroup) is not Object, throw a TypeError
20-
// exception.
21-
//
22-
// 3. If finalizationGroup does not have a [[Cells]] internal slot,
23-
// throw a TypeError exception.
19+
// 2. Perform ? RequireInternalSlot(finalizationRegistry, [[Cells]]).
2420
CHECK_RECEIVER(JSFinalizationRegistry, finalization_registry, method_name);
2521

2622
Handle<Object> unregister_token = args.atOrUndefined(isolate, 1);
2723

28-
// 4. If CanBeHeldWeakly(unregisterToken) is false, throw a TypeError
24+
// 3. If CanBeHeldWeakly(unregisterToken) is false, throw a TypeError
2925
// exception.
3026
if (!unregister_token->CanBeHeldWeakly()) {
3127
THROW_NEW_ERROR_RETURN_FAILURE(

deps/v8/src/builtins/finalization-registry.tq

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ FinalizationRegistryConstructor(
129129
return finalizationRegistry;
130130
}
131131

132-
// https://tc39.es/proposal-symbols-as-weakmap-keys/#sec-finalization-registry.prototype.register
132+
// https://tc39.es/ecma262/#sec-finalization-registry.prototype.register
133133
transitioning javascript builtin
134134
FinalizationRegistryRegister(
135135
js-implicit context: NativeContext, receiver: JSAny)(...arguments): JSAny {

deps/v8/src/builtins/weak-ref.tq

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ extern runtime JSWeakRefAddToKeptObjects(implicit context: Context)(
1313

1414
namespace weakref {
1515

16-
// https://tc39.es/proposal-symbols-as-weakmap-keys/#sec-weak-ref-target
16+
// https://tc39.es/ecma262/#sec-weak-ref-target
1717
transitioning javascript builtin
1818
WeakRefConstructor(
1919
js-implicit context: NativeContext, receiver: JSAny, newTarget: JSAny,

deps/v8/src/codegen/code-stub-assembler.h

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2679,12 +2679,6 @@ class V8_EXPORT_PRIVATE CodeStubAssembler
26792679
ExternalReference::address_of_shared_string_table_flag());
26802680
}
26812681

2682-
TNode<BoolT> HasHarmonySymbolAsWeakmapKeyFlag() {
2683-
return LoadRuntimeFlag(
2684-
ExternalReference::
2685-
address_of_FLAG_harmony_symbol_as_weakmap_key());
2686-
}
2687-
26882682
// True iff |object| is a Smi or a HeapNumber or a BigInt.
26892683
TNode<BoolT> IsNumeric(TNode<Object> object);
26902684

deps/v8/src/codegen/external-reference.cc

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -550,11 +550,6 @@ ExternalReference::address_of_mock_arraybuffer_allocator_flag() {
550550
return ExternalReference(&FLAG_mock_arraybuffer_allocator);
551551
}
552552

553-
ExternalReference
554-
ExternalReference::address_of_FLAG_harmony_symbol_as_weakmap_key() {
555-
return ExternalReference(&FLAG_harmony_symbol_as_weakmap_key);
556-
}
557-
558553
ExternalReference ExternalReference::address_of_builtin_subclassing_flag() {
559554
return ExternalReference(&FLAG_builtin_subclassing);
560555
}

deps/v8/src/codegen/external-reference.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,6 @@ class StatsCounter;
9292

9393
#define EXTERNAL_REFERENCE_LIST(V) \
9494
V(abort_with_reason, "abort_with_reason") \
95-
V(address_of_FLAG_harmony_symbol_as_weakmap_key, \
96-
"FLAG_harmony_symbol_as_weakmap_key") \
9795
V(address_of_builtin_subclassing_flag, "FLAG_builtin_subclassing") \
9896
V(address_of_double_abs_constant, "double_absolute_constant") \
9997
V(address_of_double_neg_constant, "double_negate_constant") \

deps/v8/src/flags/flag-definitions.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -319,8 +319,7 @@ DEFINE_BOOL(harmony_shipping, true, "enable all shipped harmony features")
319319

320320
// Features that are complete (but still behind the --harmony flag).
321321
#define HARMONY_STAGED_BASE(V) \
322-
V(harmony_array_grouping, "harmony array grouping") \
323-
V(harmony_symbol_as_weakmap_key, "harmony symbols as weakmap keys")
322+
V(harmony_array_grouping, "harmony array grouping")
324323

325324
#ifdef V8_INTL_SUPPORT
326325
#define HARMONY_STAGED(V) \

deps/v8/src/init/bootstrapper.cc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4484,7 +4484,6 @@ void Genesis::InitializeConsole(Handle<JSObject> extras_binding) {
44844484
EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_import_assertions)
44854485
EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_private_brand_checks)
44864486
EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_class_static_blocks)
4487-
EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_symbol_as_weakmap_key)
44884487
EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_error_cause)
44894488

44904489
#ifdef V8_INTL_SUPPORT

0 commit comments

Comments
 (0)