Commit 059d2f79 authored by Jakob Kummerow's avatar Jakob Kummerow Committed by V8 LUCI CQ

[wasm-gc] Drop --experimental-wasm-gc-experiments flag

Simply putting all features behind --experimental-wasm-gc.
The intent is to simplify command lines.

Bug: v8:7748
Change-Id: Ibfaa4dc720087a490b177a2b95841620a4d25d89
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3141583
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Auto-Submit: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: 's avatarManos Koukoutos <manoskouk@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76703}
parent 0ef2ccec
...@@ -1006,7 +1006,6 @@ DEFINE_STRING(dump_wasm_module_path, nullptr, ...@@ -1006,7 +1006,6 @@ DEFINE_STRING(dump_wasm_module_path, nullptr,
FOREACH_WASM_FEATURE_FLAG(DECL_WASM_FLAG) FOREACH_WASM_FEATURE_FLAG(DECL_WASM_FLAG)
#undef DECL_WASM_FLAG #undef DECL_WASM_FLAG
DEFINE_IMPLICATION(experimental_wasm_gc_experiments, experimental_wasm_gc)
DEFINE_IMPLICATION(experimental_wasm_gc, experimental_wasm_typed_funcref) DEFINE_IMPLICATION(experimental_wasm_gc, experimental_wasm_typed_funcref)
DEFINE_IMPLICATION(experimental_wasm_typed_funcref, experimental_wasm_reftypes) DEFINE_IMPLICATION(experimental_wasm_typed_funcref, experimental_wasm_reftypes)
......
...@@ -4261,7 +4261,6 @@ class WasmFullDecoder : public WasmDecoder<validate, decoding_mode> { ...@@ -4261,7 +4261,6 @@ class WasmFullDecoder : public WasmDecoder<validate, decoding_mode> {
} }
case kExprArrayCopy: { case kExprArrayCopy: {
NON_CONST_ONLY NON_CONST_ONLY
CHECK_PROTOTYPE_OPCODE(gc_experiments);
ArrayIndexImmediate<validate> dst_imm(this, this->pc_ + opcode_length); ArrayIndexImmediate<validate> dst_imm(this, this->pc_ + opcode_length);
if (!this->Validate(this->pc_ + opcode_length, dst_imm)) return 0; if (!this->Validate(this->pc_ + opcode_length, dst_imm)) return 0;
if (!VALIDATE(dst_imm.array_type->mutability())) { if (!VALIDATE(dst_imm.array_type->mutability())) {
...@@ -4296,7 +4295,6 @@ class WasmFullDecoder : public WasmDecoder<validate, decoding_mode> { ...@@ -4296,7 +4295,6 @@ class WasmFullDecoder : public WasmDecoder<validate, decoding_mode> {
return opcode_length + dst_imm.length + src_imm.length; return opcode_length + dst_imm.length + src_imm.length;
} }
case kExprArrayInit: { case kExprArrayInit: {
CHECK_PROTOTYPE_OPCODE(gc_experiments);
if (decoding_mode != kInitExpression) { if (decoding_mode != kInitExpression) {
this->DecodeError("array.init is only allowed in init. expressions"); this->DecodeError("array.init is only allowed in init. expressions");
return 0; return 0;
...@@ -4365,8 +4363,6 @@ class WasmFullDecoder : public WasmDecoder<validate, decoding_mode> { ...@@ -4365,8 +4363,6 @@ class WasmFullDecoder : public WasmDecoder<validate, decoding_mode> {
return opcode_length + imm.length; return opcode_length + imm.length;
} }
case kExprRttFreshSub: case kExprRttFreshSub:
CHECK_PROTOTYPE_OPCODE(gc_experiments);
V8_FALLTHROUGH;
case kExprRttSub: { case kExprRttSub: {
IndexImmediate<validate> imm(this, this->pc_ + opcode_length, IndexImmediate<validate> imm(this, this->pc_ + opcode_length,
"type index"); "type index");
......
...@@ -563,9 +563,10 @@ class ModuleDecoderImpl : public Decoder { ...@@ -563,9 +563,10 @@ class ModuleDecoderImpl : public Decoder {
break; break;
} }
case kWasmFunctionExtendingTypeCode: { case kWasmFunctionExtendingTypeCode: {
if (!enabled_features_.has_gc_experiments()) { if (!enabled_features_.has_gc()) {
errorf(pc(), errorf(pc(),
"nominal types need --experimental-wasm-gc-experiments"); "invalid function type definition, enable with "
"--experimental-wasm-gc");
break; break;
} }
const FunctionSig* s = consume_sig(module_->signature_zone.get()); const FunctionSig* s = consume_sig(module_->signature_zone.get());
...@@ -591,9 +592,10 @@ class ModuleDecoderImpl : public Decoder { ...@@ -591,9 +592,10 @@ class ModuleDecoderImpl : public Decoder {
break; break;
} }
case kWasmStructExtendingTypeCode: { case kWasmStructExtendingTypeCode: {
if (!enabled_features_.has_gc_experiments()) { if (!enabled_features_.has_gc()) {
errorf(pc(), errorf(pc(),
"nominal types need --experimental-wasm-gc-experiments"); "invalid struct type definition, enable with "
"--experimental-wasm-gc");
break; break;
} }
const StructType* s = consume_struct(module_->signature_zone.get()); const StructType* s = consume_struct(module_->signature_zone.get());
...@@ -617,9 +619,10 @@ class ModuleDecoderImpl : public Decoder { ...@@ -617,9 +619,10 @@ class ModuleDecoderImpl : public Decoder {
break; break;
} }
case kWasmArrayExtendingTypeCode: { case kWasmArrayExtendingTypeCode: {
if (!enabled_features_.has_gc_experiments()) { if (!enabled_features_.has_gc()) {
errorf(pc(), errorf(pc(),
"nominal types need --experimental-wasm-gc-experiments"); "invalid array type definition, enable with "
"--experimental-wasm-gc");
break; break;
} }
const ArrayType* type = consume_array(module_->signature_zone.get()); const ArrayType* type = consume_array(module_->signature_zone.get());
......
...@@ -26,7 +26,6 @@ ...@@ -26,7 +26,6 @@
\ \
/* Non-specified, V8-only experimental additions to the GC proposal */ \ /* Non-specified, V8-only experimental additions to the GC proposal */ \
/* V8 side owner: jkummerow */ \ /* V8 side owner: jkummerow */ \
V(gc_experiments, "garbage collection V8-only experimental features", false) \
V(nn_locals, \ V(nn_locals, \
"allow non-defaultable/non-nullable locals, validated with 'until end of " \ "allow non-defaultable/non-nullable locals, validated with 'until end of " \
"block' semantics", \ "block' semantics", \
......
...@@ -905,7 +905,6 @@ WASM_COMPILED_EXEC_TEST(WasmPackedArrayS) { ...@@ -905,7 +905,6 @@ WASM_COMPILED_EXEC_TEST(WasmPackedArrayS) {
} }
WASM_COMPILED_EXEC_TEST(WasmArrayCopy) { WASM_COMPILED_EXEC_TEST(WasmArrayCopy) {
FLAG_SCOPE(experimental_wasm_gc_experiments);
WasmGCTester tester(execution_tier); WasmGCTester tester(execution_tier);
const byte array32_index = tester.DefineArray(kWasmI32, true); const byte array32_index = tester.DefineArray(kWasmI32, true);
const byte array16_index = tester.DefineArray(kWasmI16, true); const byte array16_index = tester.DefineArray(kWasmI16, true);
...@@ -1187,8 +1186,6 @@ WASM_COMPILED_EXEC_TEST(BasicRtt) { ...@@ -1187,8 +1186,6 @@ WASM_COMPILED_EXEC_TEST(BasicRtt) {
WASM_COMPILED_EXEC_TEST(RttFreshSub) { WASM_COMPILED_EXEC_TEST(RttFreshSub) {
WasmGCTester tester(execution_tier); WasmGCTester tester(execution_tier);
FlagScope<bool> flag_gc_experiments(&FLAG_experimental_wasm_gc_experiments,
true);
const byte kType = tester.DefineStruct({F(wasm::kWasmI32, true)}); const byte kType = tester.DefineStruct({F(wasm::kWasmI32, true)});
HeapType::Representation type_repr = HeapType::Representation type_repr =
static_cast<HeapType::Representation>(kType); static_cast<HeapType::Representation>(kType);
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
// Flags: --experimental-wasm-gc-experiments --no-liftoff // Flags: --experimental-wasm-gc --no-liftoff
d8.file.execute("test/mjsunit/wasm/wasm-module-builder.js"); d8.file.execute("test/mjsunit/wasm/wasm-module-builder.js");
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
// Flags: --experimental-wasm-gc-experiments // Flags: --experimental-wasm-gc
d8.file.execute("test/mjsunit/wasm/wasm-module-builder.js"); d8.file.execute("test/mjsunit/wasm/wasm-module-builder.js");
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
// Flags: --experimental-wasm-gc-experiments // Flags: --experimental-wasm-gc
d8.file.execute("test/mjsunit/wasm/wasm-module-builder.js"); d8.file.execute("test/mjsunit/wasm/wasm-module-builder.js");
......
...@@ -1091,7 +1091,6 @@ TEST_F(FunctionBodyDecoderTest, UnreachableRefTypes) { ...@@ -1091,7 +1091,6 @@ TEST_F(FunctionBodyDecoderTest, UnreachableRefTypes) {
WASM_FEATURE_SCOPE(reftypes); WASM_FEATURE_SCOPE(reftypes);
WASM_FEATURE_SCOPE(typed_funcref); WASM_FEATURE_SCOPE(typed_funcref);
WASM_FEATURE_SCOPE(gc); WASM_FEATURE_SCOPE(gc);
WASM_FEATURE_SCOPE(gc_experiments);
WASM_FEATURE_SCOPE(return_call); WASM_FEATURE_SCOPE(return_call);
byte function_index = builder.AddFunction(sigs.i_ii()); byte function_index = builder.AddFunction(sigs.i_ii());
...@@ -4317,7 +4316,6 @@ TEST_F(FunctionBodyDecoderTest, RttSub) { ...@@ -4317,7 +4316,6 @@ TEST_F(FunctionBodyDecoderTest, RttSub) {
WASM_FEATURE_SCOPE(reftypes); WASM_FEATURE_SCOPE(reftypes);
WASM_FEATURE_SCOPE(typed_funcref); WASM_FEATURE_SCOPE(typed_funcref);
WASM_FEATURE_SCOPE(gc); WASM_FEATURE_SCOPE(gc);
WASM_FEATURE_SCOPE(gc_experiments);
uint8_t array_type_index = builder.AddArray(kWasmI8, true); uint8_t array_type_index = builder.AddArray(kWasmI8, true);
uint8_t super_struct_type_index = builder.AddStruct({F(kWasmI16, true)}); uint8_t super_struct_type_index = builder.AddStruct({F(kWasmI16, true)});
......
...@@ -838,7 +838,6 @@ TEST_F(WasmModuleVerifyTest, GlobalRttFreshSubOfCanon) { ...@@ -838,7 +838,6 @@ TEST_F(WasmModuleVerifyTest, GlobalRttFreshSubOfCanon) {
WASM_FEATURE_SCOPE(reftypes); WASM_FEATURE_SCOPE(reftypes);
WASM_FEATURE_SCOPE(typed_funcref); WASM_FEATURE_SCOPE(typed_funcref);
WASM_FEATURE_SCOPE(gc); WASM_FEATURE_SCOPE(gc);
WASM_FEATURE_SCOPE(gc_experiments);
static const byte data[] = { static const byte data[] = {
SECTION(Type, ENTRY_COUNT(2), SECTION(Type, ENTRY_COUNT(2),
...@@ -870,7 +869,6 @@ TEST_F(WasmModuleVerifyTest, GlobalRttFreshSubOfSubOfCanon) { ...@@ -870,7 +869,6 @@ TEST_F(WasmModuleVerifyTest, GlobalRttFreshSubOfSubOfCanon) {
WASM_FEATURE_SCOPE(reftypes); WASM_FEATURE_SCOPE(reftypes);
WASM_FEATURE_SCOPE(typed_funcref); WASM_FEATURE_SCOPE(typed_funcref);
WASM_FEATURE_SCOPE(gc); WASM_FEATURE_SCOPE(gc);
WASM_FEATURE_SCOPE(gc_experiments);
static const byte data[] = { static const byte data[] = {
SECTION(Type, ENTRY_COUNT(2), SECTION(Type, ENTRY_COUNT(2),
...@@ -888,7 +886,6 @@ TEST_F(WasmModuleVerifyTest, GlobalRttFreshSubOfFreshSubOfCanon) { ...@@ -888,7 +886,6 @@ TEST_F(WasmModuleVerifyTest, GlobalRttFreshSubOfFreshSubOfCanon) {
WASM_FEATURE_SCOPE(reftypes); WASM_FEATURE_SCOPE(reftypes);
WASM_FEATURE_SCOPE(typed_funcref); WASM_FEATURE_SCOPE(typed_funcref);
WASM_FEATURE_SCOPE(gc); WASM_FEATURE_SCOPE(gc);
WASM_FEATURE_SCOPE(gc_experiments);
static const byte data[] = { static const byte data[] = {
SECTION(Type, ENTRY_COUNT(2), SECTION(Type, ENTRY_COUNT(2),
...@@ -928,7 +925,6 @@ TEST_F(WasmModuleVerifyTest, GlobalRttFreshSubOfGlobal) { ...@@ -928,7 +925,6 @@ TEST_F(WasmModuleVerifyTest, GlobalRttFreshSubOfGlobal) {
WASM_FEATURE_SCOPE(reftypes); WASM_FEATURE_SCOPE(reftypes);
WASM_FEATURE_SCOPE(typed_funcref); WASM_FEATURE_SCOPE(typed_funcref);
WASM_FEATURE_SCOPE(gc); WASM_FEATURE_SCOPE(gc);
WASM_FEATURE_SCOPE(gc_experiments);
static const byte data[] = { static const byte data[] = {
SECTION(Type, ENTRY_COUNT(2), SECTION(Type, ENTRY_COUNT(2),
...@@ -974,7 +970,6 @@ TEST_F(WasmModuleVerifyTest, GlobalRttFreshSubOfGlobalTypeError) { ...@@ -974,7 +970,6 @@ TEST_F(WasmModuleVerifyTest, GlobalRttFreshSubOfGlobalTypeError) {
WASM_FEATURE_SCOPE(reftypes); WASM_FEATURE_SCOPE(reftypes);
WASM_FEATURE_SCOPE(typed_funcref); WASM_FEATURE_SCOPE(typed_funcref);
WASM_FEATURE_SCOPE(gc); WASM_FEATURE_SCOPE(gc);
WASM_FEATURE_SCOPE(gc_experiments);
static const byte data[] = { static const byte data[] = {
SECTION(Type, ENTRY_COUNT(1), SECTION(Type, ENTRY_COUNT(1),
...@@ -1015,7 +1010,6 @@ TEST_F(WasmModuleVerifyTest, GlobalRttFreshSubIllegalParent) { ...@@ -1015,7 +1010,6 @@ TEST_F(WasmModuleVerifyTest, GlobalRttFreshSubIllegalParent) {
WASM_FEATURE_SCOPE(reftypes); WASM_FEATURE_SCOPE(reftypes);
WASM_FEATURE_SCOPE(typed_funcref); WASM_FEATURE_SCOPE(typed_funcref);
WASM_FEATURE_SCOPE(gc); WASM_FEATURE_SCOPE(gc);
WASM_FEATURE_SCOPE(gc_experiments);
static const byte data[] = { static const byte data[] = {
SECTION(Type, ENTRY_COUNT(2), SECTION(Type, ENTRY_COUNT(2),
...@@ -1049,7 +1043,6 @@ TEST_F(WasmModuleVerifyTest, RttFreshSubGlobalTypeError) { ...@@ -1049,7 +1043,6 @@ TEST_F(WasmModuleVerifyTest, RttFreshSubGlobalTypeError) {
WASM_FEATURE_SCOPE(reftypes); WASM_FEATURE_SCOPE(reftypes);
WASM_FEATURE_SCOPE(typed_funcref); WASM_FEATURE_SCOPE(typed_funcref);
WASM_FEATURE_SCOPE(gc); WASM_FEATURE_SCOPE(gc);
WASM_FEATURE_SCOPE(gc_experiments);
static const byte data[] = { static const byte data[] = {
SECTION(Type, ENTRY_COUNT(1), SECTION(Type, ENTRY_COUNT(1),
...@@ -1066,7 +1059,6 @@ TEST_F(WasmModuleVerifyTest, StructNewInitExpr) { ...@@ -1066,7 +1059,6 @@ TEST_F(WasmModuleVerifyTest, StructNewInitExpr) {
WASM_FEATURE_SCOPE(reftypes); WASM_FEATURE_SCOPE(reftypes);
WASM_FEATURE_SCOPE(typed_funcref); WASM_FEATURE_SCOPE(typed_funcref);
WASM_FEATURE_SCOPE(gc); WASM_FEATURE_SCOPE(gc);
WASM_FEATURE_SCOPE(gc_experiments);
static const byte basic[] = { static const byte basic[] = {
SECTION(Type, ENTRY_COUNT(1), // -- SECTION(Type, ENTRY_COUNT(1), // --
...@@ -1116,7 +1108,6 @@ TEST_F(WasmModuleVerifyTest, ArrayInitInitExpr) { ...@@ -1116,7 +1108,6 @@ TEST_F(WasmModuleVerifyTest, ArrayInitInitExpr) {
WASM_FEATURE_SCOPE(reftypes); WASM_FEATURE_SCOPE(reftypes);
WASM_FEATURE_SCOPE(typed_funcref); WASM_FEATURE_SCOPE(typed_funcref);
WASM_FEATURE_SCOPE(gc); WASM_FEATURE_SCOPE(gc);
WASM_FEATURE_SCOPE(gc_experiments);
static const byte basic[] = { static const byte basic[] = {
SECTION(Type, ENTRY_COUNT(1), WASM_ARRAY_DEF(kI16Code, true)), SECTION(Type, ENTRY_COUNT(1), WASM_ARRAY_DEF(kI16Code, true)),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment