diff --git a/aptos-move/aptos-gas-meter/src/meter.rs b/aptos-move/aptos-gas-meter/src/meter.rs
index cef5c18c1ee1c..78f32e22d1757 100644
--- a/aptos-move/aptos-gas-meter/src/meter.rs
+++ b/aptos-move/aptos-gas-meter/src/meter.rs
@@ -547,6 +547,12 @@ where
self.algebra.charge_execution(cost)
}
+
+ fn charge_abort_message(&mut self, bytes: &[u8]) -> PartialVMResult<()> {
+ let num_bytes = NumBytes::new(bytes.len() as u64);
+ let cost = ABORT_MSG_BASE + ABORT_MSG_PER_BYTE * num_bytes;
+ self.algebra.charge_execution(cost)
+ }
}
impl AptosGasMeter for StandardGasMeter
diff --git a/aptos-move/aptos-gas-profiling/src/profiler.rs b/aptos-move/aptos-gas-profiling/src/profiler.rs
index ec6bc02bb3cd0..d248ffc2ae094 100644
--- a/aptos-move/aptos-gas-profiling/src/profiler.rs
+++ b/aptos-move/aptos-gas-profiling/src/profiler.rs
@@ -367,6 +367,9 @@ where
[VEC_SWAP]
fn charge_vec_swap(&mut self) -> PartialVMResult<()>;
+
+ [ABORT_MSG]
+ fn charge_abort_message(&mut self, bytes: &[u8]) -> PartialVMResult<()>;
}
fn balance_internal(&self) -> InternalGas {
diff --git a/aptos-move/aptos-gas-schedule/src/gas_schedule/instr.rs b/aptos-move/aptos-gas-schedule/src/gas_schedule/instr.rs
index 0d969cd743c20..3431f589d50b6 100644
--- a/aptos-move/aptos-gas-schedule/src/gas_schedule/instr.rs
+++ b/aptos-move/aptos-gas-schedule/src/gas_schedule/instr.rs
@@ -4,7 +4,7 @@
//! This module defines the gas parameters for all Move instructions.
use crate::{
- gas_feature_versions::{RELEASE_V1_18, RELEASE_V1_33, RELEASE_V1_38},
+ gas_feature_versions::{RELEASE_V1_18, RELEASE_V1_33, RELEASE_V1_38, RELEASE_V1_40},
gas_schedule::VMGasParameters,
};
use aptos_gas_algebra::{
@@ -22,6 +22,8 @@ crate::gas_schedule::macros::define_gas_parameters!(
// control flow
[ret: InternalGas, "ret", 220],
[abort: InternalGas, "abort", 220],
+ [abort_msg_base: InternalGas, { RELEASE_V1_40.. => "abort_msg.base" }, 440],
+ [abort_msg_per_byte: InternalGasPerByte, { RELEASE_V1_40.. => "abort_msg.per_byte" }, 45],
// Note(Gas): The costs of the branch instructions have been jacked up a bit intentionally
// to prevent any single transaction from running for too long.
diff --git a/aptos-move/aptos-memory-usage-tracker/src/lib.rs b/aptos-move/aptos-memory-usage-tracker/src/lib.rs
index 0fce5a7575246..602c2ec83d86c 100644
--- a/aptos-move/aptos-memory-usage-tracker/src/lib.rs
+++ b/aptos-move/aptos-memory-usage-tracker/src/lib.rs
@@ -343,6 +343,17 @@ where
.charge_native_function_before_execution(ty_args, args)
}
+ fn charge_abort_message(&mut self, bytes: &[u8]) -> PartialVMResult<()> {
+ self.release_heap_memory(
+ self.vm_gas_params()
+ .misc
+ .abs_val
+ .abstract_heap_size(bytes, self.feature_version())?,
+ );
+
+ self.base.charge_abort_message(bytes)
+ }
+
#[inline]
fn charge_native_function(
&mut self,
diff --git a/aptos-move/aptos-release-builder/src/components/feature_flags.rs b/aptos-move/aptos-release-builder/src/components/feature_flags.rs
index e237796d62796..46ee79b6a174d 100644
--- a/aptos-move/aptos-release-builder/src/components/feature_flags.rs
+++ b/aptos-move/aptos-release-builder/src/components/feature_flags.rs
@@ -157,6 +157,7 @@ pub enum FeatureFlag {
EnableFrameworkForOption,
SessionContinuation,
EnableFunctionReflection,
+ VMBinaryFormatV10,
}
fn generate_features_blob(writer: &CodeWriter, data: &[u64]) {
@@ -413,6 +414,7 @@ impl From for AptosFeatureFlag {
FeatureFlag::EnableFrameworkForOption => AptosFeatureFlag::ENABLE_FRAMEWORK_FOR_OPTION,
FeatureFlag::SessionContinuation => AptosFeatureFlag::SESSION_CONTINUATION,
FeatureFlag::EnableFunctionReflection => AptosFeatureFlag::ENABLE_FUNCTION_REFLECTION,
+ FeatureFlag::VMBinaryFormatV10 => AptosFeatureFlag::VM_BINARY_FORMAT_V10,
}
}
}
@@ -596,6 +598,7 @@ impl From for FeatureFlag {
AptosFeatureFlag::ENABLE_FRAMEWORK_FOR_OPTION => FeatureFlag::EnableFrameworkForOption,
AptosFeatureFlag::SESSION_CONTINUATION => FeatureFlag::SessionContinuation,
AptosFeatureFlag::ENABLE_FUNCTION_REFLECTION => FeatureFlag::EnableFunctionReflection,
+ AptosFeatureFlag::VM_BINARY_FORMAT_V10 => FeatureFlag::VMBinaryFormatV10,
}
}
}
diff --git a/aptos-move/aptos-transactional-test-harness/tests/aptos_test_harness/diamond_clicker.exp b/aptos-move/aptos-transactional-test-harness/tests/aptos_test_harness/diamond_clicker.exp
index 21559b373abc6..0268275abfbcf 100644
--- a/aptos-move/aptos-transactional-test-harness/tests/aptos_test_harness/diamond_clicker.exp
+++ b/aptos-move/aptos-transactional-test-harness/tests/aptos_test_harness/diamond_clicker.exp
@@ -1,6 +1,6 @@
processed 4 tasks
task 1 lines 4-35: print-bytecode --input=module [module Alice::game {]
-// Bytecode version v9
+// Bytecode version v10
module 0xf75daa73fc071f93593335eb9033da804777eb94491650dd3f095ce6f778acb6::game
use 0x1::signer
use 0x1::debug
diff --git a/aptos-move/aptos-vm/src/verifier/event_validation.rs b/aptos-move/aptos-vm/src/verifier/event_validation.rs
index 0983e7b45a835..0961b224ca3a7 100644
--- a/aptos-move/aptos-vm/src/verifier/event_validation.rs
+++ b/aptos-move/aptos-vm/src/verifier/event_validation.rs
@@ -235,6 +235,7 @@ pub(crate) fn validate_emit_calls(
| Le
| Ge
| Abort
+ | AbortMsg
| Nop
| ImmBorrowVariantField(_)
| ImmBorrowVariantFieldGeneric(_)
diff --git a/third_party/move/move-binary-format/src/check_bounds.rs b/third_party/move/move-binary-format/src/check_bounds.rs
index a31d107399c89..9eae176326ab9 100644
--- a/third_party/move/move-binary-format/src/check_bounds.rs
+++ b/third_party/move/move-binary-format/src/check_bounds.rs
@@ -673,8 +673,8 @@ impl<'a> BoundsChecker<'a> {
| LdI8(_) | LdI16(_) | LdI32(_) | LdI64(_) | LdI256(_) | LdI128(_) | CastI8
| CastI16 | CastI32 | CastI64 | CastI128 | CastI256 | LdTrue | LdFalse
| ReadRef | WriteRef | Add | Sub | Mul | Mod | Div | Negate | BitOr | BitAnd
- | Xor | Shl | Shr | Or | And | Not | Eq | Neq | Lt | Gt | Le | Ge | Abort | Nop => {
- },
+ | Xor | Shl | Shr | Or | And | Not | Eq | Neq | Lt | Gt | Le | Ge | Abort
+ | AbortMsg | Nop => {},
}
}
Ok(())
diff --git a/third_party/move/move-binary-format/src/check_complexity.rs b/third_party/move/move-binary-format/src/check_complexity.rs
index 4e9a4ce4922d1..bbd2ff879e02c 100644
--- a/third_party/move/move-binary-format/src/check_complexity.rs
+++ b/third_party/move/move-binary-format/src/check_complexity.rs
@@ -376,6 +376,7 @@ impl BinaryComplexityMeter<'_> {
| MoveTo(_)
| MoveFrom(_)
| Abort
+ | AbortMsg
| Nop => (),
}
}
diff --git a/third_party/move/move-binary-format/src/deserializer.rs b/third_party/move/move-binary-format/src/deserializer.rs
index 5e3e34e69744a..037a69bb104b3 100644
--- a/third_party/move/move-binary-format/src/deserializer.rs
+++ b/third_party/move/move-binary-format/src/deserializer.rs
@@ -1831,6 +1831,14 @@ fn load_code(cursor: &mut VersionedCursor, code: &mut Vec) -> BinaryLo
)),
);
},
+ Opcodes::ABORT_MSG if cursor.version() < VERSION_10 => {
+ return Err(
+ PartialVMError::new(StatusCode::MALFORMED).with_message(format!(
+ "aborting with message not available before bytecode version {}",
+ VERSION_10
+ )),
+ );
+ },
_ => {},
};
@@ -1943,6 +1951,7 @@ fn load_code(cursor: &mut VersionedCursor, code: &mut Vec) -> BinaryLo
Opcodes::LE => Bytecode::Le,
Opcodes::GE => Bytecode::Ge,
Opcodes::ABORT => Bytecode::Abort,
+ Opcodes::ABORT_MSG => Bytecode::AbortMsg,
Opcodes::NOP => Bytecode::Nop,
Opcodes::EXISTS => Bytecode::Exists(load_struct_def_index(cursor)?),
Opcodes::EXISTS_GENERIC => Bytecode::ExistsGeneric(load_struct_def_inst_index(cursor)?),
@@ -2226,6 +2235,8 @@ impl Opcodes {
0x65 => Ok(Opcodes::CAST_I128),
0x66 => Ok(Opcodes::CAST_I256),
0x67 => Ok(Opcodes::NEGATE),
+ // Since bytecode version 10
+ 0x68 => Ok(Opcodes::ABORT_MSG),
_ => Err(PartialVMError::new(StatusCode::UNKNOWN_OPCODE)
.with_message(format!("code {:X}", value))),
}
diff --git a/third_party/move/move-binary-format/src/file_format.rs b/third_party/move/move-binary-format/src/file_format.rs
index 82b86b2669d20..65a70e64f404c 100644
--- a/third_party/move/move-binary-format/src/file_format.rs
+++ b/third_party/move/move-binary-format/src/file_format.rs
@@ -3050,6 +3050,21 @@ pub enum Bytecode {
ty_stack << ty
"#]
Negate,
+
+ #[group = "control_flow"]
+ #[description = r#"
+ Abort the transaction with an error code and message.
+ "#]
+ #[semantics = r#"
+ stack >> (error_message: vector)
+ stack >> (error_code: u64)
+ abort transaction with error_code and error_message
+ "#]
+ #[runtime_check_prologue = r#"
+ ty_stack >> _
+ ty_stack >> _
+ "#]
+ AbortMsg,
}
impl ::std::fmt::Debug for Bytecode {
@@ -3149,6 +3164,7 @@ impl ::std::fmt::Debug for Bytecode {
Bytecode::Le => write!(f, "Le"),
Bytecode::Ge => write!(f, "Ge"),
Bytecode::Abort => write!(f, "Abort"),
+ Bytecode::AbortMsg => write!(f, "AbortMsg"),
Bytecode::Nop => write!(f, "Nop"),
Bytecode::Exists(a) => write!(f, "Exists({:?})", a),
Bytecode::ExistsGeneric(a) => write!(f, "ExistsGeneric({:?})", a),
@@ -3171,7 +3187,10 @@ impl ::std::fmt::Debug for Bytecode {
impl Bytecode {
/// Return true if this bytecode instruction always branches
pub fn is_unconditional_branch(&self) -> bool {
- matches!(self, Bytecode::Ret | Bytecode::Abort | Bytecode::Branch(_))
+ matches!(
+ self,
+ Bytecode::Ret | Bytecode::Abort | Bytecode::AbortMsg | Bytecode::Branch(_)
+ )
}
/// Return true if the branching behavior of this bytecode instruction depends on a runtime
@@ -3328,6 +3347,7 @@ impl Bytecode {
| Le
| Ge
| Abort
+ | AbortMsg
| Nop
| ImmBorrowVariantField(_)
| ImmBorrowVariantFieldGeneric(_)
diff --git a/third_party/move/move-binary-format/src/file_format_common.rs b/third_party/move/move-binary-format/src/file_format_common.rs
index 65adadf6810b9..85023ecc58721 100644
--- a/third_party/move/move-binary-format/src/file_format_common.rs
+++ b/third_party/move/move-binary-format/src/file_format_common.rs
@@ -335,7 +335,9 @@ pub enum Opcodes {
CAST_I64 = 0x64,
CAST_I128 = 0x65,
CAST_I256 = 0x66,
- NEGATE = 0x67
+ NEGATE = 0x67,
+ // Since bytecode version 10
+ ABORT_MSG = 0x68,
}
/// Upper limit on the binary size
@@ -552,11 +554,15 @@ pub const VERSION_8: u32 = 8;
/// + allow `$` in identifiers
pub const VERSION_9: u32 = 9;
+/// Version 10: changes compared to version 9
+/// + abort with message instruction
+pub const VERSION_10: u32 = 10;
+
/// Mark which oldest version is supported.
pub const VERSION_MIN: u32 = VERSION_5;
/// Mark which version is the latest version.
-pub const VERSION_MAX: u32 = VERSION_9;
+pub const VERSION_MAX: u32 = VERSION_10;
/// Mark which version is the default version. This is the version used by default by tools like
/// the compiler. Notice that this version might be different from the one supported on nodes.
@@ -797,6 +803,7 @@ pub fn instruction_key(instruction: &Bytecode) -> u8 {
Le => Opcodes::LE,
Ge => Opcodes::GE,
Abort => Opcodes::ABORT,
+ AbortMsg => Opcodes::ABORT_MSG,
Nop => Opcodes::NOP,
Exists(_) => Opcodes::EXISTS,
ExistsGeneric(_) => Opcodes::EXISTS_GENERIC,
diff --git a/third_party/move/move-binary-format/src/serializer.rs b/third_party/move/move-binary-format/src/serializer.rs
index dc4c309264f42..5768ed508d9db 100644
--- a/third_party/move/move-binary-format/src/serializer.rs
+++ b/third_party/move/move-binary-format/src/serializer.rs
@@ -1168,6 +1168,7 @@ fn serialize_instruction_inner(
Bytecode::Le => binary.push(Opcodes::LE as u8),
Bytecode::Ge => binary.push(Opcodes::GE as u8),
Bytecode::Abort => binary.push(Opcodes::ABORT as u8),
+ Bytecode::AbortMsg => binary.push(Opcodes::ABORT_MSG as u8),
Bytecode::Nop => binary.push(Opcodes::NOP as u8),
Bytecode::Exists(class_idx) => {
binary.push(Opcodes::EXISTS as u8)?;
diff --git a/third_party/move/move-bytecode-verifier/invalid-mutations/src/bounds/code_unit.rs b/third_party/move/move-bytecode-verifier/invalid-mutations/src/bounds/code_unit.rs
index 4d161f49f723e..113f48c16f401 100644
--- a/third_party/move/move-bytecode-verifier/invalid-mutations/src/bounds/code_unit.rs
+++ b/third_party/move/move-bytecode-verifier/invalid-mutations/src/bounds/code_unit.rs
@@ -484,7 +484,7 @@ impl<'a> ApplyCodeUnitBoundsContext<'a> {
| LdI256(_) | CastI8 | CastI16 | CastI32 | CastI64 | CastI128 | CastI256
| LdTrue | LdFalse | ReadRef | WriteRef | Add | Sub | Mul | Mod | Div
| Negate | BitOr | BitAnd | Xor | Shl | Shr | Or | And | Not | Eq | Neq
- | Lt | Gt | Le | Ge | Abort | Nop => {
+ | Lt | Gt | Le | Ge | Abort | AbortMsg | Nop => {
panic!("Bytecode has no internal index: {:?}", code[bytecode_idx])
},
PackVariant(_)
@@ -563,7 +563,7 @@ fn is_interesting(bytecode: &Bytecode) -> bool {
| LdI16(_) | LdI32(_) | LdI64(_) | LdI128(_) | LdI256(_) | CastI8 | CastI16 | CastI32
| CastI64 | CastI128 | CastI256 | LdTrue | LdFalse | ReadRef | WriteRef | Add | Sub
| Mul | Mod | Div | Negate | BitOr | BitAnd | Xor | Shl | Shr | Or | And | Not | Eq
- | Neq | Lt | Gt | Le | Ge | Abort | Nop => false,
+ | Neq | Lt | Gt | Le | Ge | Abort | AbortMsg | Nop => false,
PackClosure(..)
| PackClosureGeneric(..)
diff --git a/third_party/move/move-bytecode-verifier/src/acquires_list_verifier.rs b/third_party/move/move-bytecode-verifier/src/acquires_list_verifier.rs
index b87b2a5cc334d..afd5b25911703 100644
--- a/third_party/move/move-bytecode-verifier/src/acquires_list_verifier.rs
+++ b/third_party/move/move-bytecode-verifier/src/acquires_list_verifier.rs
@@ -112,6 +112,7 @@ impl<'a> AcquiresVerifier<'a> {
| Bytecode::BrTrue(_)
| Bytecode::BrFalse(_)
| Bytecode::Abort
+ | Bytecode::AbortMsg
| Bytecode::Branch(_)
| Bytecode::Nop
| Bytecode::Ret
diff --git a/third_party/move/move-bytecode-verifier/src/instantiation_loops.rs b/third_party/move/move-bytecode-verifier/src/instantiation_loops.rs
index eec171a12263f..8fe7edc9e28b6 100644
--- a/third_party/move/move-bytecode-verifier/src/instantiation_loops.rs
+++ b/third_party/move/move-bytecode-verifier/src/instantiation_loops.rs
@@ -298,6 +298,7 @@ impl<'a> InstantiationLoopChecker<'a> {
| Bytecode::Le
| Bytecode::Ge
| Bytecode::Abort
+ | Bytecode::AbortMsg
| Bytecode::Nop
| Bytecode::Exists(_)
| Bytecode::ExistsGeneric(_)
diff --git a/third_party/move/move-bytecode-verifier/src/instruction_consistency.rs b/third_party/move/move-bytecode-verifier/src/instruction_consistency.rs
index 04cae527f8d5e..ecbf6fc41b3e4 100644
--- a/third_party/move/move-bytecode-verifier/src/instruction_consistency.rs
+++ b/third_party/move/move-bytecode-verifier/src/instruction_consistency.rs
@@ -151,9 +151,9 @@ impl<'a> InstructionConsistency<'a> {
| Xor | Shl | Shr | Or | And | Not | Eq | Neq | Lt | Gt | Le | Ge | CopyLoc(_)
| MoveLoc(_) | StLoc(_) | MutBorrowLoc(_) | ImmBorrowLoc(_) | VecLen(_)
| VecImmBorrow(_) | VecMutBorrow(_) | VecPushBack(_) | VecPopBack(_)
- | VecSwap(_) | Abort | Nop | LdI8(_) | LdI16(_) | LdI32(_) | LdI64(_)
- | LdI128(_) | LdI256(_) | CastI8 | CastI16 | CastI32 | CastI64 | CastI128
- | CastI256 => (),
+ | VecSwap(_) | Abort | AbortMsg | Nop | LdI8(_) | LdI16(_) | LdI32(_)
+ | LdI64(_) | LdI128(_) | LdI256(_) | CastI8 | CastI16 | CastI32 | CastI64
+ | CastI128 | CastI256 => (),
}
}
Ok(())
diff --git a/third_party/move/move-bytecode-verifier/src/locals_safety/mod.rs b/third_party/move/move-bytecode-verifier/src/locals_safety/mod.rs
index fe51f453ba043..b95405c80ab40 100644
--- a/third_party/move/move-bytecode-verifier/src/locals_safety/mod.rs
+++ b/third_party/move/move-bytecode-verifier/src/locals_safety/mod.rs
@@ -93,6 +93,7 @@ fn execute_inner(
| Bytecode::BrTrue(_)
| Bytecode::BrFalse(_)
| Bytecode::Abort
+ | Bytecode::AbortMsg
| Bytecode::Branch(_)
| Bytecode::Nop
| Bytecode::FreezeRef
diff --git a/third_party/move/move-bytecode-verifier/src/reference_safety/mod.rs b/third_party/move/move-bytecode-verifier/src/reference_safety/mod.rs
index 4ce6141f36819..72bcba4222e58 100644
--- a/third_party/move/move-bytecode-verifier/src/reference_safety/mod.rs
+++ b/third_party/move/move-bytecode-verifier/src/reference_safety/mod.rs
@@ -483,6 +483,12 @@ fn execute_inner(
Bytecode::BrTrue(_) | Bytecode::BrFalse(_) | Bytecode::Abort => {
safe_assert!(safe_unwrap!(verifier.stack.pop()).is_value());
},
+ Bytecode::AbortMsg => {
+ // message value
+ safe_assert!(safe_unwrap!(verifier.stack.pop()).is_value());
+ // code value
+ safe_assert!(safe_unwrap!(verifier.stack.pop()).is_value());
+ },
Bytecode::MoveTo(_) | Bytecode::MoveToGeneric(_) => {
// resource value
safe_assert!(safe_unwrap!(verifier.stack.pop()).is_value());
diff --git a/third_party/move/move-bytecode-verifier/src/signature_v2.rs b/third_party/move/move-bytecode-verifier/src/signature_v2.rs
index f5f1700549c30..eead676f6feaf 100644
--- a/third_party/move/move-bytecode-verifier/src/signature_v2.rs
+++ b/third_party/move/move-bytecode-verifier/src/signature_v2.rs
@@ -1032,6 +1032,7 @@ impl<'a, const N: usize> SignatureChecker<'a, N> {
| MoveTo(_)
| MoveFrom(_)
| Abort
+ | AbortMsg
| Nop => (),
}
}
diff --git a/third_party/move/move-bytecode-verifier/src/stack_usage_verifier.rs b/third_party/move/move-bytecode-verifier/src/stack_usage_verifier.rs
index 19af4c9120d70..14eef99f18531 100644
--- a/third_party/move/move-bytecode-verifier/src/stack_usage_verifier.rs
+++ b/third_party/move/move-bytecode-verifier/src/stack_usage_verifier.rs
@@ -211,11 +211,12 @@ impl<'a> StackUsageVerifier<'a> {
// Vector indexing operations (pop twice and push once)
Bytecode::VecImmBorrow(_) | Bytecode::VecMutBorrow(_) => (2, 1),
- // MoveTo, WriteRef, and VecPushBack pop twice but do not push
+ // MoveTo, WriteRef, VecPushBack, and AbortMsg pop twice but do not push
Bytecode::MoveTo(_)
| Bytecode::MoveToGeneric(_)
| Bytecode::WriteRef
- | Bytecode::VecPushBack(_) => (2, 0),
+ | Bytecode::VecPushBack(_)
+ | Bytecode::AbortMsg => (2, 0),
// VecSwap pops three times but does not push
Bytecode::VecSwap(_) => (3, 0),
diff --git a/third_party/move/move-bytecode-verifier/src/type_safety.rs b/third_party/move/move-bytecode-verifier/src/type_safety.rs
index 5aafc0d42b052..0efbab78f3ba6 100644
--- a/third_party/move/move-bytecode-verifier/src/type_safety.rs
+++ b/third_party/move/move-bytecode-verifier/src/type_safety.rs
@@ -589,7 +589,7 @@ fn borrow_vector_element(
// check vector and update stack
// The declared element type must be exactly the same as the element type of the vector
// operand. (No co-variance.)
- let element_type = match get_vector_element_type(operand_vec, mut_ref_only) {
+ let element_type = match get_vector_ref_element_type(operand_vec, mut_ref_only) {
Some(ty) if declared_element_type == &ty => ty,
_ => return Err(verifier.error(StatusCode::TYPE_MISMATCH, offset)),
};
@@ -641,6 +641,14 @@ fn verify_instr(
}
},
+ Bytecode::AbortMsg => {
+ let operand_message = safe_unwrap!(verifier.stack.pop());
+ let operand_code = safe_unwrap!(verifier.stack.pop());
+ if operand_code != ST::U64 || get_vector_element_type(operand_message) != Some(ST::U8) {
+ return Err(verifier.error(StatusCode::ABORT_TYPE_MISMATCH_ERROR, offset));
+ }
+ },
+
Bytecode::Ret => {
let return_ = &verifier.function_view.return_().0;
for return_type in return_.iter().rev() {
@@ -1187,7 +1195,7 @@ fn verify_instr(
Bytecode::VecLen(idx) => {
let operand = safe_unwrap!(verifier.stack.pop());
let declared_element_type = &verifier.resolver.signature_at(*idx).0[0];
- match get_vector_element_type(operand, false) {
+ match get_vector_ref_element_type(operand, false) {
// The derived and declared element types must be equal (no co-variance)
Some(derived_element_type) if &derived_element_type == declared_element_type => {
verifier.push(meter, ST::U64)?;
@@ -1213,7 +1221,7 @@ fn verify_instr(
if !declared_element_type.is_assignable_from(&operand_elem) {
return Err(verifier.error(StatusCode::TYPE_MISMATCH, offset));
}
- match get_vector_element_type(operand_vec, true) {
+ match get_vector_ref_element_type(operand_vec, true) {
// Derived and declared element types must be equal.
Some(derived_element_type) if &derived_element_type == declared_element_type => {},
_ => return Err(verifier.error(StatusCode::TYPE_MISMATCH, offset)),
@@ -1223,7 +1231,7 @@ fn verify_instr(
Bytecode::VecPopBack(idx) => {
let operand_vec = safe_unwrap!(verifier.stack.pop());
let declared_element_type = &verifier.resolver.signature_at(*idx).0[0];
- match get_vector_element_type(operand_vec, true) {
+ match get_vector_ref_element_type(operand_vec, true) {
// Derived and declared element types must be equal.
Some(derived_element_type) if &derived_element_type == declared_element_type => {
verifier.push(meter, derived_element_type)?;
@@ -1251,7 +1259,7 @@ fn verify_instr(
return Err(verifier.error(StatusCode::TYPE_MISMATCH, offset));
}
let declared_element_type = &verifier.resolver.signature_at(*idx).0[0];
- match get_vector_element_type(operand_vec, true) {
+ match get_vector_ref_element_type(operand_vec, true) {
// Derived and declared element types must be equal
Some(derived_element_type) if &derived_element_type == declared_element_type => {},
_ => return Err(verifier.error(StatusCode::TYPE_MISMATCH, offset)),
@@ -1380,7 +1388,15 @@ fn instantiate(token: &SignatureToken, subst: &Signature) -> SignatureToken {
}
}
-fn get_vector_element_type(
+fn get_vector_element_type(vector_ty: SignatureToken) -> Option {
+ if let ST::Vector(element_type) = vector_ty {
+ Some(*element_type)
+ } else {
+ None
+ }
+}
+
+fn get_vector_ref_element_type(
vector_ref_ty: SignatureToken,
mut_ref_only: bool,
) -> Option {
diff --git a/third_party/move/move-compiler-v2/src/bytecode_generator.rs b/third_party/move/move-compiler-v2/src/bytecode_generator.rs
index 39e9a88f9b6cd..617fe4b2d1526 100644
--- a/third_party/move/move-compiler-v2/src/bytecode_generator.rs
+++ b/third_party/move/move-compiler-v2/src/bytecode_generator.rs
@@ -289,6 +289,26 @@ impl<'env> Generator<'env> {
}
}
+ /// Require binary arguments. This has to clone the arg but thats fine because of
+ /// interning.
+ fn require_binary_args(&self, id: NodeId, args: &[Exp]) -> [Exp; 2] {
+ if args.len() != 2 {
+ self.internal_error(
+ id,
+ format!(
+ "inconsistent expression argument arity: {} and 2",
+ args.len()
+ ),
+ );
+ [
+ ExpData::Invalid(self.env().new_node_id()).into_exp(),
+ ExpData::Invalid(self.env().new_node_id()).into_exp(),
+ ]
+ } else {
+ [args[0].to_owned(), args[1].to_owned()]
+ }
+ }
+
/// Finds the temporary index assigned to the local.
fn find_local(&self, id: NodeId, sym: Symbol) -> TempIndex {
for scope in self.scopes.iter().rev() {
@@ -884,7 +904,13 @@ impl Generator<'_> {
Operation::Abort => {
let arg = self.require_unary_arg(id, args);
let temp = self.gen_escape_auto_ref_arg(&arg, false);
- self.emit_with(id, |attr| Bytecode::Abort(attr, temp))
+ self.emit_with(id, |attr| Bytecode::Abort(attr, temp, None))
+ },
+ Operation::AbortMsg => {
+ let [arg0, arg1] = self.require_binary_args(id, args);
+ let temp0 = self.gen_escape_auto_ref_arg(&arg0, false);
+ let temp1 = self.gen_escape_auto_ref_arg(&arg1, false);
+ self.emit_with(id, |attr| Bytecode::Abort(attr, temp0, Some(temp1)));
},
Operation::Deref => self.gen_deref(targets, id, args),
Operation::MoveFunction(m, f) => {
@@ -1939,7 +1965,7 @@ impl Generator<'_> {
Constant::U64(well_known::INCOMPLETE_MATCH_ABORT_CODE),
)
});
- self.emit_with(id, |attr| Bytecode::Abort(attr, abort_code));
+ self.emit_with(id, |attr| Bytecode::Abort(attr, abort_code, None));
// Here we end if some path was successful
self.emit_with(id, |attr| Bytecode::Label(attr, success_path));
// Finally check exhaustiveness of match
diff --git a/third_party/move/move-compiler-v2/src/file_format_generator/function_generator.rs b/third_party/move/move-compiler-v2/src/file_format_generator/function_generator.rs
index 165dddec4f02d..6e51582a41595 100644
--- a/third_party/move/move-compiler-v2/src/file_format_generator/function_generator.rs
+++ b/third_party/move/move-compiler-v2/src/file_format_generator/function_generator.rs
@@ -780,11 +780,16 @@ impl<'a> FunctionGenerator<'a> {
self.add_label_reference(*label);
self.emit(FF::Bytecode::Branch(0));
},
- Bytecode::Abort(_, temp) => {
- self.balance_stack_end_of_block(ctx, vec![*temp]);
+ Bytecode::Abort(_, temp, None) => {
+ self.balance_stack_end_of_block(ctx, [*temp]);
self.emit(FF::Bytecode::Abort);
self.abstract_pop(ctx)
},
+ Bytecode::Abort(_, temp0, Some(temp1)) => {
+ self.balance_stack_end_of_block(ctx, [*temp0, *temp1]);
+ self.emit(FF::Bytecode::AbortMsg);
+ self.abstract_pop_n(ctx, 2);
+ },
Bytecode::Nop(_) => {
// do nothing -- labels are relative
},
diff --git a/third_party/move/move-compiler-v2/src/pipeline/control_flow_graph_simplifier.rs b/third_party/move/move-compiler-v2/src/pipeline/control_flow_graph_simplifier.rs
index 940efcbcb1fdd..491d646ab41e1 100644
--- a/third_party/move/move-compiler-v2/src/pipeline/control_flow_graph_simplifier.rs
+++ b/third_party/move/move-compiler-v2/src/pipeline/control_flow_graph_simplifier.rs
@@ -838,7 +838,7 @@ impl RedundantJumpRemover {
}
to_instrs
.first()
- .filter(|bc| matches!(bc, Bytecode::Ret(..) | Bytecode::Abort(..)))
+ .filter(|bc| bc.is_return() || bc.is_abort())
}
}
diff --git a/third_party/move/move-compiler-v2/src/pipeline/livevar_analysis_processor.rs b/third_party/move/move-compiler-v2/src/pipeline/livevar_analysis_processor.rs
index 4ae672fe7384c..fe1fd0c04c4e2 100644
--- a/third_party/move/move-compiler-v2/src/pipeline/livevar_analysis_processor.rs
+++ b/third_party/move/move-compiler-v2/src/pipeline/livevar_analysis_processor.rs
@@ -365,8 +365,11 @@ impl TransferFunctions for LiveVarAnalysis<'_> {
state.livevars.insert(*src, self.livevar_info(id, offset));
}
},
- Abort(id, src) => {
- state.livevars.insert(*src, self.livevar_info(id, offset));
+ Abort(id, src0, src1) => {
+ state.livevars.insert(*src0, self.livevar_info(id, offset));
+ if let Some(src1) = src1 {
+ state.livevars.insert(*src1, self.livevar_info(id, offset));
+ }
},
Branch(id, _, _, src) => {
state.insert_or_update(*src, self.livevar_info(id, offset), self.track_all_usages);
diff --git a/third_party/move/move-compiler-v2/src/pipeline/unreachable_code_analysis.rs b/third_party/move/move-compiler-v2/src/pipeline/unreachable_code_analysis.rs
index b713b4ba83055..e1a4aca01b320 100644
--- a/third_party/move/move-compiler-v2/src/pipeline/unreachable_code_analysis.rs
+++ b/third_party/move/move-compiler-v2/src/pipeline/unreachable_code_analysis.rs
@@ -95,7 +95,6 @@ impl TransferFunctions for UnreachableCodeAnalysis {
const BACKWARD: bool = false;
fn execute(&self, state: &mut Self::State, instr: &Bytecode, _offset: CodeOffset) {
- use Bytecode::*;
// TODO: the precision of this analysis can be improved when constant propagation
// information is available.
// For example:
@@ -103,7 +102,7 @@ impl TransferFunctions for UnreachableCodeAnalysis {
// - if addition of two constants overflows, then code after is definitely not reachable.
//
// Cases where the instruction stops the execution path from continuing on.
- if matches!(instr, Ret(..) | Abort(..)) {
+ if instr.is_return() || instr.is_abort() {
*state = ReachableState::No;
} // else: the instruction may not stop the execution path from continuing on.
}
diff --git a/third_party/move/move-compiler-v2/tests/ability-transform/borrowed_from_one_path.exp b/third_party/move/move-compiler-v2/tests/ability-transform/borrowed_from_one_path.exp
index 4819afcfae248..8116f24266ab8 100644
--- a/third_party/move/move-compiler-v2/tests/ability-transform/borrowed_from_one_path.exp
+++ b/third_party/move/move-compiler-v2/tests/ability-transform/borrowed_from_one_path.exp
@@ -1086,7 +1086,7 @@ fun m::f($t0: u8, $t1: &vector): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m
struct R has key
data: vector
diff --git a/third_party/move/move-compiler-v2/tests/ability-transform/by_reference.exp b/third_party/move/move-compiler-v2/tests/ability-transform/by_reference.exp
index 7207e7ff4749f..6dd480d5393ba 100644
--- a/third_party/move/move-compiler-v2/tests/ability-transform/by_reference.exp
+++ b/third_party/move/move-compiler-v2/tests/ability-transform/by_reference.exp
@@ -3782,7 +3782,7 @@ fun _0::check() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
script
// Function definition at index 0
entry public fun main()
diff --git a/third_party/move/move-compiler-v2/tests/ability-transform/copy_ability_tuple.exp b/third_party/move/move-compiler-v2/tests/ability-transform/copy_ability_tuple.exp
index 1bc208c1fd6f8..08f82726edbd3 100644
--- a/third_party/move/move-compiler-v2/tests/ability-transform/copy_ability_tuple.exp
+++ b/third_party/move/move-compiler-v2/tests/ability-transform/copy_ability_tuple.exp
@@ -705,7 +705,7 @@ public fun M::g($t0: &signer) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::M
struct R has key
f: u64
diff --git a/third_party/move/move-compiler-v2/tests/ability-transform/dead_but_borrowed.exp b/third_party/move/move-compiler-v2/tests/ability-transform/dead_but_borrowed.exp
index 6b69d436c03fc..4c830fe6cf9e0 100644
--- a/third_party/move/move-compiler-v2/tests/ability-transform/dead_but_borrowed.exp
+++ b/third_party/move/move-compiler-v2/tests/ability-transform/dead_but_borrowed.exp
@@ -295,7 +295,7 @@ fun explicate_drop::test0(): u8 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::explicate_drop
// Function definition at index 0
fun test0(): u8
diff --git a/third_party/move/move-compiler-v2/tests/ability-transform/destroy_after_call.exp b/third_party/move/move-compiler-v2/tests/ability-transform/destroy_after_call.exp
index fc27db0a09966..15fe14f48f2a4 100644
--- a/third_party/move/move-compiler-v2/tests/ability-transform/destroy_after_call.exp
+++ b/third_party/move/move-compiler-v2/tests/ability-transform/destroy_after_call.exp
@@ -618,7 +618,7 @@ fun m::g() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m
// Function definition at index 0
fun f(l0: &mut u64): &mut u64
diff --git a/third_party/move/move-compiler-v2/tests/ability-transform/drop_after_loop.exp b/third_party/move/move-compiler-v2/tests/ability-transform/drop_after_loop.exp
index 9bd5d2ce2c091..66228055c5b5e 100644
--- a/third_party/move/move-compiler-v2/tests/ability-transform/drop_after_loop.exp
+++ b/third_party/move/move-compiler-v2/tests/ability-transform/drop_after_loop.exp
@@ -1351,7 +1351,7 @@ fun m::drop_after_loop() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m
// Function definition at index 0
fun drop_after_loop()
diff --git a/third_party/move/move-compiler-v2/tests/ability-transform/drop_at_branch.exp b/third_party/move/move-compiler-v2/tests/ability-transform/drop_at_branch.exp
index f022aa07f4782..e474248ef8138 100644
--- a/third_party/move/move-compiler-v2/tests/ability-transform/drop_at_branch.exp
+++ b/third_party/move/move-compiler-v2/tests/ability-transform/drop_at_branch.exp
@@ -385,7 +385,7 @@ fun explicate_drop::drop_at_branch($t0: bool): u8 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::explicate_drop
// Function definition at index 0
fun drop_at_branch(l0: bool): u8
diff --git a/third_party/move/move-compiler-v2/tests/ability-transform/foreach_mut_expanded.exp b/third_party/move/move-compiler-v2/tests/ability-transform/foreach_mut_expanded.exp
index 1f3bdbc1bd1c0..ac98228723019 100644
--- a/third_party/move/move-compiler-v2/tests/ability-transform/foreach_mut_expanded.exp
+++ b/third_party/move/move-compiler-v2/tests/ability-transform/foreach_mut_expanded.exp
@@ -2005,7 +2005,7 @@ fun m::test_for_each_mut() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m
// Function definition at index 0
fun test_for_each_mut()
diff --git a/third_party/move/move-compiler-v2/tests/ability-transform/mutate_return.exp b/third_party/move/move-compiler-v2/tests/ability-transform/mutate_return.exp
index 4707ae29835b7..07e744477d837 100644
--- a/third_party/move/move-compiler-v2/tests/ability-transform/mutate_return.exp
+++ b/third_party/move/move-compiler-v2/tests/ability-transform/mutate_return.exp
@@ -468,7 +468,7 @@ fun m::g<#0>($t0: &mut vector<#0>) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
#[persistent] public fun singleton(l0: T0): vector
diff --git a/third_party/move/move-compiler-v2/tests/ability-transform/mutate_vector.exp b/third_party/move/move-compiler-v2/tests/ability-transform/mutate_vector.exp
index 3454965bcca3e..c08a4456ca82b 100644
--- a/third_party/move/move-compiler-v2/tests/ability-transform/mutate_vector.exp
+++ b/third_party/move/move-compiler-v2/tests/ability-transform/mutate_vector.exp
@@ -745,7 +745,7 @@ public fun m::scalar_zero(): 0x42::m::Scalar {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m
struct Scalar has copy + drop + store
data: vector
diff --git a/third_party/move/move-compiler-v2/tests/bytecode-generator/assign.exp b/third_party/move/move-compiler-v2/tests/bytecode-generator/assign.exp
index ccf18f4a76925..7d6fb31f310b4 100644
--- a/third_party/move/move-compiler-v2/tests/bytecode-generator/assign.exp
+++ b/third_party/move/move-compiler-v2/tests/bytecode-generator/assign.exp
@@ -186,7 +186,7 @@ fun assign::assign_struct($t0: &mut 0x42::assign::S) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::assign
struct T has drop
h: u64
diff --git a/third_party/move/move-compiler-v2/tests/bytecode-generator/assign_inline.exp b/third_party/move/move-compiler-v2/tests/bytecode-generator/assign_inline.exp
index 880403c268a77..9ea70b790254b 100644
--- a/third_party/move/move-compiler-v2/tests/bytecode-generator/assign_inline.exp
+++ b/third_party/move/move-compiler-v2/tests/bytecode-generator/assign_inline.exp
@@ -70,7 +70,7 @@ public fun assign::main(): (u64, u64) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::assign
// Function definition at index 0
#[persistent] public fun main(): (u64, u64)
diff --git a/third_party/move/move-compiler-v2/tests/bytecode-generator/borrow.exp b/third_party/move/move-compiler-v2/tests/bytecode-generator/borrow.exp
index 3251a66e6df60..19a57e5b97edd 100644
--- a/third_party/move/move-compiler-v2/tests/bytecode-generator/borrow.exp
+++ b/third_party/move/move-compiler-v2/tests/bytecode-generator/borrow.exp
@@ -299,7 +299,7 @@ fun borrow::mut_param($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::borrow
struct S
f: u64
diff --git a/third_party/move/move-compiler-v2/tests/bytecode-generator/borrow_deref_optimize.exp b/third_party/move/move-compiler-v2/tests/bytecode-generator/borrow_deref_optimize.exp
index 7def2646ea7b5..e17313d016a38 100644
--- a/third_party/move/move-compiler-v2/tests/bytecode-generator/borrow_deref_optimize.exp
+++ b/third_party/move/move-compiler-v2/tests/bytecode-generator/borrow_deref_optimize.exp
@@ -272,7 +272,7 @@ fun test::optimize_vector() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::test
struct X has copy + drop + key
value: bool
diff --git a/third_party/move/move-compiler-v2/tests/bytecode-generator/bug_14300_update_variant_select.exp b/third_party/move/move-compiler-v2/tests/bytecode-generator/bug_14300_update_variant_select.exp
index bedd394d7269b..66a7021b12879 100644
--- a/third_party/move/move-compiler-v2/tests/bytecode-generator/bug_14300_update_variant_select.exp
+++ b/third_party/move/move-compiler-v2/tests/bytecode-generator/bug_14300_update_variant_select.exp
@@ -327,7 +327,7 @@ fun m::update_non_common_field(): u32 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x815::m
enum CommonFields has drop
Foo
diff --git a/third_party/move/move-compiler-v2/tests/bytecode-generator/bug_14300_variant_select_autoref.exp b/third_party/move/move-compiler-v2/tests/bytecode-generator/bug_14300_variant_select_autoref.exp
index 6536963d97051..17f6c3eb94640 100644
--- a/third_party/move/move-compiler-v2/tests/bytecode-generator/bug_14300_variant_select_autoref.exp
+++ b/third_party/move/move-compiler-v2/tests/bytecode-generator/bug_14300_variant_select_autoref.exp
@@ -95,7 +95,7 @@ fun m::test_common_access(): u8 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x815::m
enum Positional has drop
A
diff --git a/third_party/move/move-compiler-v2/tests/bytecode-generator/bug_14471_receiver_inference.exp b/third_party/move/move-compiler-v2/tests/bytecode-generator/bug_14471_receiver_inference.exp
index 31b21752ab8ce..8050e68e53cf4 100644
--- a/third_party/move/move-compiler-v2/tests/bytecode-generator/bug_14471_receiver_inference.exp
+++ b/third_party/move/move-compiler-v2/tests/bytecode-generator/bug_14471_receiver_inference.exp
@@ -186,7 +186,7 @@ public fun m::add_when_missing($t0: address, $t1: u64) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x815::m
struct MyMap has key
table: Table
diff --git a/third_party/move/move-compiler-v2/tests/bytecode-generator/bug_14629.exp b/third_party/move/move-compiler-v2/tests/bytecode-generator/bug_14629.exp
index a9c0afa6e8986..feacc341a63dd 100644
--- a/third_party/move/move-compiler-v2/tests/bytecode-generator/bug_14629.exp
+++ b/third_party/move/move-compiler-v2/tests/bytecode-generator/bug_14629.exp
@@ -136,7 +136,7 @@ fun M::t0_u128() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x8675309::M
struct R
r: T0
diff --git a/third_party/move/move-compiler-v2/tests/bytecode-generator/bug_16222_fv_wrapper_unpack.exp b/third_party/move/move-compiler-v2/tests/bytecode-generator/bug_16222_fv_wrapper_unpack.exp
index 8f64379020cc9..07b914c32c502 100644
--- a/third_party/move/move-compiler-v2/tests/bytecode-generator/bug_16222_fv_wrapper_unpack.exp
+++ b/third_party/move/move-compiler-v2/tests/bytecode-generator/bug_16222_fv_wrapper_unpack.exp
@@ -224,7 +224,7 @@ public fun n::test_friend() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
friend 0xc0ffee::n
struct Lazy has drop
@@ -268,7 +268,7 @@ friend fun borrow_mut$Lazy$0(l0: &mut Lazy): &mut || has drop
fun __lambda__1__make_lazy()
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m_friend
friend 0xc0ffee::n
struct Lazy has drop
@@ -312,7 +312,7 @@ friend fun borrow_mut$Lazy$0(l0: &mut Lazy): &mut || has drop
fun __lambda__1__make_lazy()
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n
use 0xc0ffee::m
use 0xc0ffee::m_friend
diff --git a/third_party/move/move-compiler-v2/tests/bytecode-generator/bug_16324.exp b/third_party/move/move-compiler-v2/tests/bytecode-generator/bug_16324.exp
index ae3d4e60ba84a..b43192bc59941 100644
--- a/third_party/move/move-compiler-v2/tests/bytecode-generator/bug_16324.exp
+++ b/third_party/move/move-compiler-v2/tests/bytecode-generator/bug_16324.exp
@@ -241,7 +241,7 @@ fun m::test_self($t0: vector<0xc0ffee::m::TestOrder>) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct TestOrder has copy + drop + store
price: u64
diff --git a/third_party/move/move-compiler-v2/tests/bytecode-generator/bug_16543_fv_wrapper_pack.exp b/third_party/move/move-compiler-v2/tests/bytecode-generator/bug_16543_fv_wrapper_pack.exp
index bf6e36348f430..b1bc9d6b86687 100644
--- a/third_party/move/move-compiler-v2/tests/bytecode-generator/bug_16543_fv_wrapper_pack.exp
+++ b/third_party/move/move-compiler-v2/tests/bytecode-generator/bug_16543_fv_wrapper_pack.exp
@@ -144,7 +144,7 @@ fun n::__lambda__1__test_friend() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
friend 0xc0ffee::n
struct Lazy has drop
@@ -178,7 +178,7 @@ friend fun borrow_mut$Lazy$0(l0: &mut Lazy): &mut || has drop
mut_borrow_field Lazy, _0
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m_friend
friend 0xc0ffee::n
struct Lazy has drop
@@ -212,7 +212,7 @@ friend fun borrow_mut$Lazy$0(l0: &mut Lazy): &mut || has drop
mut_borrow_field Lazy, _0
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n
use 0xc0ffee::m
use 0xc0ffee::m_friend
diff --git a/third_party/move/move-compiler-v2/tests/bytecode-generator/conditional_borrow.exp b/third_party/move/move-compiler-v2/tests/bytecode-generator/conditional_borrow.exp
index 595778f7609fc..ef58b369c43bf 100644
--- a/third_party/move/move-compiler-v2/tests/bytecode-generator/conditional_borrow.exp
+++ b/third_party/move/move-compiler-v2/tests/bytecode-generator/conditional_borrow.exp
@@ -792,7 +792,7 @@ public fun M::testb(): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x8675::M
struct S has copy + drop
f: u64
diff --git a/third_party/move/move-compiler-v2/tests/bytecode-generator/escape_autoref.exp b/third_party/move/move-compiler-v2/tests/bytecode-generator/escape_autoref.exp
index dbbed914235dd..01754c4aaac62 100644
--- a/third_party/move/move-compiler-v2/tests/bytecode-generator/escape_autoref.exp
+++ b/third_party/move/move-compiler-v2/tests/bytecode-generator/escape_autoref.exp
@@ -207,7 +207,7 @@ fun m::will_autoref(): address {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m
struct Object has copy + drop
inner: address
diff --git a/third_party/move/move-compiler-v2/tests/bytecode-generator/fields.exp b/third_party/move/move-compiler-v2/tests/bytecode-generator/fields.exp
index e2f2328a4885d..87dd56ff54201 100644
--- a/third_party/move/move-compiler-v2/tests/bytecode-generator/fields.exp
+++ b/third_party/move/move-compiler-v2/tests/bytecode-generator/fields.exp
@@ -478,7 +478,7 @@ fun fields::write_val($t0: 0x42::fields::S): 0x42::fields::S {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::fields
struct T has drop
h: u64
diff --git a/third_party/move/move-compiler-v2/tests/bytecode-generator/freeze_mut_ref.exp b/third_party/move/move-compiler-v2/tests/bytecode-generator/freeze_mut_ref.exp
index 118a5bec9b5e4..7882aaabbea6a 100644
--- a/third_party/move/move-compiler-v2/tests/bytecode-generator/freeze_mut_ref.exp
+++ b/third_party/move/move-compiler-v2/tests/bytecode-generator/freeze_mut_ref.exp
@@ -706,7 +706,7 @@ fun freeze_mut_ref::t8($t0: bool, $t1: &mut 0x42::freeze_mut_ref::S, $t2: &0x42:
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::freeze_mut_ref
struct G
f: u64
diff --git a/third_party/move/move-compiler-v2/tests/bytecode-generator/globals.exp b/third_party/move/move-compiler-v2/tests/bytecode-generator/globals.exp
index 3e7d87a7114c6..3212e4676f0eb 100644
--- a/third_party/move/move-compiler-v2/tests/bytecode-generator/globals.exp
+++ b/third_party/move/move-compiler-v2/tests/bytecode-generator/globals.exp
@@ -194,7 +194,7 @@ fun globals::write($t0: address, $t1: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::globals
struct R has store + key
f: u64
diff --git a/third_party/move/move-compiler-v2/tests/bytecode-generator/if_else.exp b/third_party/move/move-compiler-v2/tests/bytecode-generator/if_else.exp
index c67a055ad8c87..9284f6ad1e42b 100644
--- a/third_party/move/move-compiler-v2/tests/bytecode-generator/if_else.exp
+++ b/third_party/move/move-compiler-v2/tests/bytecode-generator/if_else.exp
@@ -184,7 +184,7 @@ fun if_else::if_else_nested($t0: bool, $t1: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::if_else
// Function definition at index 0
fun if_else(l0: bool, l1: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/bytecode-generator/inline_specs.exp b/third_party/move/move-compiler-v2/tests/bytecode-generator/inline_specs.exp
index 35a12dbec6aca..201b6c19d1602 100644
--- a/third_party/move/move-compiler-v2/tests/bytecode-generator/inline_specs.exp
+++ b/third_party/move/move-compiler-v2/tests/bytecode-generator/inline_specs.exp
@@ -136,7 +136,7 @@ fun inline_specs::succ($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::inline_specs
// Function definition at index 0
fun specs(): u64
diff --git a/third_party/move/move-compiler-v2/tests/bytecode-generator/loop.exp b/third_party/move/move-compiler-v2/tests/bytecode-generator/loop.exp
index f383f0ac7f4e1..2ef6639a86f99 100644
--- a/third_party/move/move-compiler-v2/tests/bytecode-generator/loop.exp
+++ b/third_party/move/move-compiler-v2/tests/bytecode-generator/loop.exp
@@ -421,7 +421,7 @@ fun loops::while_loop_with_break_and_continue($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::loops
// Function definition at index 0
fun nested_loop(l0: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/bytecode-generator/loop_labels.exp b/third_party/move/move-compiler-v2/tests/bytecode-generator/loop_labels.exp
index 70c9c465b5af7..7a4d32caee7b7 100644
--- a/third_party/move/move-compiler-v2/tests/bytecode-generator/loop_labels.exp
+++ b/third_party/move/move-compiler-v2/tests/bytecode-generator/loop_labels.exp
@@ -139,7 +139,7 @@ fun test::f1() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x815::test
// Function definition at index 0
fun f1()
diff --git a/third_party/move/move-compiler-v2/tests/bytecode-generator/matching_refutable_err.exp b/third_party/move/move-compiler-v2/tests/bytecode-generator/matching_refutable_err.exp
index 121feef84e29b..ec33ac24ebc06 100644
--- a/third_party/move/move-compiler-v2/tests/bytecode-generator/matching_refutable_err.exp
+++ b/third_party/move/move-compiler-v2/tests/bytecode-generator/matching_refutable_err.exp
@@ -68,7 +68,7 @@ fun m::t($t0: 0x815::m::E): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x815::m
enum E
None
diff --git a/third_party/move/move-compiler-v2/tests/bytecode-generator/operators.exp b/third_party/move/move-compiler-v2/tests/bytecode-generator/operators.exp
index da836aa30b626..8e459274e3a9d 100644
--- a/third_party/move/move-compiler-v2/tests/bytecode-generator/operators.exp
+++ b/third_party/move/move-compiler-v2/tests/bytecode-generator/operators.exp
@@ -384,7 +384,7 @@ fun operators::order($t0: u64, $t1: u64): bool {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::operators
// Function definition at index 0
fun arithm(l0: u64, l1: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/bytecode-generator/pack_order.exp b/third_party/move/move-compiler-v2/tests/bytecode-generator/pack_order.exp
index f350ac28e93aa..cd2ed20cffdac 100644
--- a/third_party/move/move-compiler-v2/tests/bytecode-generator/pack_order.exp
+++ b/third_party/move/move-compiler-v2/tests/bytecode-generator/pack_order.exp
@@ -315,7 +315,7 @@ fun pack_unpack::pack6($t0: u8, $t1: u8, $t2: u8): 0x42::pack_unpack::S {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::pack_unpack
struct S
f1: u8
diff --git a/third_party/move/move-compiler-v2/tests/bytecode-generator/pack_unpack.exp b/third_party/move/move-compiler-v2/tests/bytecode-generator/pack_unpack.exp
index 0f563f3116b6d..c372cb23a6bb4 100644
--- a/third_party/move/move-compiler-v2/tests/bytecode-generator/pack_unpack.exp
+++ b/third_party/move/move-compiler-v2/tests/bytecode-generator/pack_unpack.exp
@@ -114,7 +114,7 @@ fun pack_unpack::unpack($t0: 0x42::pack_unpack::S): (u64, u64) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::pack_unpack
struct T
h: u64
diff --git a/third_party/move/move-compiler-v2/tests/bytecode-generator/reference_conversion.exp b/third_party/move/move-compiler-v2/tests/bytecode-generator/reference_conversion.exp
index 0e48ec78b96d6..dd9ed192e3503 100644
--- a/third_party/move/move-compiler-v2/tests/bytecode-generator/reference_conversion.exp
+++ b/third_party/move/move-compiler-v2/tests/bytecode-generator/reference_conversion.exp
@@ -99,7 +99,7 @@ fun reference_conversion::use_it(): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::reference_conversion
// Function definition at index 0
fun deref(l0: &u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/bytecode-generator/spec_construct.exp b/third_party/move/move-compiler-v2/tests/bytecode-generator/spec_construct.exp
index e352ec816f5da..700aeb7a664ae 100644
--- a/third_party/move/move-compiler-v2/tests/bytecode-generator/spec_construct.exp
+++ b/third_party/move/move-compiler-v2/tests/bytecode-generator/spec_construct.exp
@@ -76,7 +76,7 @@ public fun m::foo($t0: &0x42::m::S): u8 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m
struct E
k: u8
diff --git a/third_party/move/move-compiler-v2/tests/bytecode-generator/vector.exp b/third_party/move/move-compiler-v2/tests/bytecode-generator/vector.exp
index 7e42dbf8eaf10..5b4e113cc33e6 100644
--- a/third_party/move/move-compiler-v2/tests/bytecode-generator/vector.exp
+++ b/third_party/move/move-compiler-v2/tests/bytecode-generator/vector.exp
@@ -45,7 +45,7 @@ fun vector::create(): vector {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::vector
// Function definition at index 0
fun create(): vector
diff --git a/third_party/move/move-compiler-v2/tests/bytecode-generator/wildcard5.exp b/third_party/move/move-compiler-v2/tests/bytecode-generator/wildcard5.exp
index 9f1a8244cfd1c..37e7ea5e74d74 100644
--- a/third_party/move/move-compiler-v2/tests/bytecode-generator/wildcard5.exp
+++ b/third_party/move/move-compiler-v2/tests/bytecode-generator/wildcard5.exp
@@ -78,7 +78,7 @@ public fun m::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct S
x: u64
diff --git a/third_party/move/move-compiler-v2/tests/checking-lang-v2.4/cross_module_borrow_field_err.exp b/third_party/move/move-compiler-v2/tests/checking-lang-v2.4/cross_module_borrow_field_err.exp
index 43438bcbff042..66b815b3b29d1 100644
--- a/third_party/move/move-compiler-v2/tests/checking-lang-v2.4/cross_module_borrow_field_err.exp
+++ b/third_party/move/move-compiler-v2/tests/checking-lang-v2.4/cross_module_borrow_field_err.exp
@@ -447,7 +447,7 @@ fun n::test_no_err() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
enum Wrapper has drop
V1
@@ -538,7 +538,7 @@ public fun borrow_mut$Wrapper$1$1(l0: &mut Wrapper): &mut u64
// @5
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n
use 0xc0ffee::m
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/checking-lang-v2.4/cross_module_package_access_success.exp b/third_party/move/move-compiler-v2/tests/checking-lang-v2.4/cross_module_package_access_success.exp
index e2c5d8f545411..16604e11af8a2 100644
--- a/third_party/move/move-compiler-v2/tests/checking-lang-v2.4/cross_module_package_access_success.exp
+++ b/third_party/move/move-compiler-v2/tests/checking-lang-v2.4/cross_module_package_access_success.exp
@@ -685,7 +685,7 @@ fun n_friend::test_pack_friend_struct(): 0xc0ffee::m_friend::T {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
friend 0xc0ffee::n
friend 0xc0ffee::n2
@@ -860,7 +860,7 @@ friend fun borrow_mut$Wrapper$0$0(l0: &mut Wrapper): &mut u64
pack_variant Wrapper, V1
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m_friend
friend 0xc0ffee::n_friend
struct T
@@ -894,7 +894,7 @@ friend fun borrow_mut$T$0(l0: &mut T): &mut u64
mut_borrow_field T, x
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n
use 0xc0ffee::m
// Function definition at index 0
@@ -915,7 +915,7 @@ fun test()
l0: ld_u64 1
abort
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n2
use 0xc0ffee::m
// Function definition at index 0
@@ -925,7 +925,7 @@ fun test_pack()
pop
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n3
use 0xc0ffee::m
// Function definition at index 0
@@ -935,7 +935,7 @@ fun test_unpack(l0: m::Wrapper)
pop
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n4
use 0xc0ffee::m
// Function definition at index 0
@@ -945,7 +945,7 @@ fun test_select_variant(l0: m::Wrapper): u64
read_ref
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n5
use 0xc0ffee::m
// Function definition at index 0
@@ -954,7 +954,7 @@ fun test_test_variant(l0: m::Wrapper): bool
call m::test_variant$Wrapper$V1
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n6
use 0xc0ffee::m
// Function definition at index 0
@@ -987,7 +987,7 @@ l0: move_loc l1
l1: ld_u64 14566554180833181697
abort
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n7
use 0xc0ffee::m
// Function definition at index 0
@@ -996,7 +996,7 @@ fun test_pack_struct(): m::S
call m::pack$S
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n8
use 0xc0ffee::m
// Function definition at index 0
@@ -1005,7 +1005,7 @@ fun test_pack_struct(): m::S
call m::pack$S
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n9
use 0xc0ffee::m
// Function definition at index 0
@@ -1021,7 +1021,7 @@ fun test_pack_unpack_struct_in_lambda()
pop
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n_friend
use 0xc0ffee::m_friend
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/control-flow-simplification/bug-10253.off.exp b/third_party/move/move-compiler-v2/tests/control-flow-simplification/bug-10253.off.exp
index f0c5644041b20..7234dd5dd2eb5 100644
--- a/third_party/move/move-compiler-v2/tests/control-flow-simplification/bug-10253.off.exp
+++ b/third_party/move/move-compiler-v2/tests/control-flow-simplification/bug-10253.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xcafe::vectors
// Function definition at index 0
#[persistent] entry public fun guess_flips(l0: vector)
diff --git a/third_party/move/move-compiler-v2/tests/control-flow-simplification/bug-10253.on.exp b/third_party/move/move-compiler-v2/tests/control-flow-simplification/bug-10253.on.exp
index fb08b25463bde..d74bcf80d41b7 100644
--- a/third_party/move/move-compiler-v2/tests/control-flow-simplification/bug-10253.on.exp
+++ b/third_party/move/move-compiler-v2/tests/control-flow-simplification/bug-10253.on.exp
@@ -239,7 +239,7 @@ fun vectors::test_guess_without_break() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xcafe::vectors
// Function definition at index 0
#[persistent] entry public fun guess_flips(l0: vector)
diff --git a/third_party/move/move-compiler-v2/tests/control-flow-simplification/jump-label.off.exp b/third_party/move/move-compiler-v2/tests/control-flow-simplification/jump-label.off.exp
index 9d7ddd46ab5c1..cce0a845ecd26 100644
--- a/third_party/move/move-compiler-v2/tests/control-flow-simplification/jump-label.off.exp
+++ b/third_party/move/move-compiler-v2/tests/control-flow-simplification/jump-label.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::test
use 0x1::string
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/control-flow-simplification/jump-label.on.exp b/third_party/move/move-compiler-v2/tests/control-flow-simplification/jump-label.on.exp
index 09d192855e96d..bdbe84c913ca6 100644
--- a/third_party/move/move-compiler-v2/tests/control-flow-simplification/jump-label.on.exp
+++ b/third_party/move/move-compiler-v2/tests/control-flow-simplification/jump-label.on.exp
@@ -84,7 +84,7 @@ fun test::foo<#0>(): 0x1::string::String {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::test
use 0x1::string
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/control-flow-simplification/loop.off.exp b/third_party/move/move-compiler-v2/tests/control-flow-simplification/loop.off.exp
index a98b4e3a8784d..e9a4f7f024852 100644
--- a/third_party/move/move-compiler-v2/tests/control-flow-simplification/loop.off.exp
+++ b/third_party/move/move-compiler-v2/tests/control-flow-simplification/loop.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::test
// Function definition at index 0
fun test()
diff --git a/third_party/move/move-compiler-v2/tests/control-flow-simplification/loop.on.exp b/third_party/move/move-compiler-v2/tests/control-flow-simplification/loop.on.exp
index 8168fc51ed524..cf4110dcdae95 100644
--- a/third_party/move/move-compiler-v2/tests/control-flow-simplification/loop.on.exp
+++ b/third_party/move/move-compiler-v2/tests/control-flow-simplification/loop.on.exp
@@ -8,7 +8,7 @@ fun test::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::test
// Function definition at index 0
fun test()
diff --git a/third_party/move/move-compiler-v2/tests/eager-pushes/eager_load_03.exp b/third_party/move/move-compiler-v2/tests/eager-pushes/eager_load_03.exp
index 7ef8ffc633ba6..be7ff57ccbc2c 100644
--- a/third_party/move/move-compiler-v2/tests/eager-pushes/eager_load_03.exp
+++ b/third_party/move/move-compiler-v2/tests/eager-pushes/eager_load_03.exp
@@ -200,7 +200,7 @@ fun m::one(): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun bar(l0: &mut u64)
diff --git a/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_01.exp b/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_01.exp
index dbae760680e90..188953584324d 100644
--- a/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_01.exp
+++ b/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_01.exp
@@ -263,7 +263,7 @@ fun m::two(): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun foo()
diff --git a/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_02.exp b/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_02.exp
index c4ead05cb0466..64d32184e9f72 100644
--- a/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_02.exp
+++ b/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_02.exp
@@ -131,7 +131,7 @@ public fun m::make($t0: u64, $t1: u64, $t2: u64, $t3: &0xc0ffee::m::S, $t4: u64)
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct S
x: u64
diff --git a/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_03.exp b/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_03.exp
index 389b71c0b8a72..d33c24074f839 100644
--- a/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_03.exp
+++ b/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_03.exp
@@ -197,7 +197,7 @@ public fun m::make($t0: u64, $t1: u64, $t2: u64, $t3: address, $t4: u64): 0xc0ff
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct S has key
x: u64
diff --git a/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_04.exp b/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_04.exp
index 4754af2e94cf5..1e475af9b8f86 100644
--- a/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_04.exp
+++ b/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_04.exp
@@ -293,7 +293,7 @@ fun m::zero($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct Wrap has drop + key
a: u64
diff --git a/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_05.exp b/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_05.exp
index 848a890b80d4f..58f7c733110ef 100644
--- a/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_05.exp
+++ b/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_05.exp
@@ -208,7 +208,7 @@ public fun m::test($t0: &signer, $t1: 0xc0ffee::m::S) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct S has drop
a: u64
diff --git a/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_06.exp b/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_06.exp
index f3f6720798fd2..a662fb60c8231 100644
--- a/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_06.exp
+++ b/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_06.exp
@@ -520,7 +520,7 @@ public fun m::test($t0: &mut 0xc0ffee::m::S, $t1: 0xc0ffee::m::S) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct S
x: u64
diff --git a/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_07.exp b/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_07.exp
index 7631232bd01cf..568ed86d7f1d3 100644
--- a/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_07.exp
+++ b/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_07.exp
@@ -338,7 +338,7 @@ public fun m::test($t0: &mut 0xc0ffee::m::S, $t1: u64) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct S
x: u64
diff --git a/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_08.exp b/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_08.exp
index e0a94c3ea6e76..b4dfc8714b39b 100644
--- a/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_08.exp
+++ b/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_08.exp
@@ -318,7 +318,7 @@ public fun m::test($t0: &0xc0ffee::m::S, $t1: u64) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct S
x: u64
diff --git a/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_09.exp b/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_09.exp
index bc5fdab27c1d2..3006f448d437a 100644
--- a/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_09.exp
+++ b/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_09.exp
@@ -445,7 +445,7 @@ public fun m::test($t0: &mut 0xc0ffee::m::S, $t1: u64) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct S
x: u64
diff --git a/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_10.exp b/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_10.exp
index 358364e892c4d..27437141a8732 100644
--- a/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_10.exp
+++ b/third_party/move/move-compiler-v2/tests/eager-pushes/framework_reduced_10.exp
@@ -517,7 +517,7 @@ public fun m::test($t0: &mut 0xc0ffee::m::S, $t1: u64) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct S
x: u64
diff --git a/third_party/move/move-compiler-v2/tests/eager-pushes/move_stdlib_reduced.exp b/third_party/move/move-compiler-v2/tests/eager-pushes/move_stdlib_reduced.exp
index 00f46622c9542..95558de685408 100644
--- a/third_party/move/move-compiler-v2/tests/eager-pushes/move_stdlib_reduced.exp
+++ b/third_party/move/move-compiler-v2/tests/eager-pushes/move_stdlib_reduced.exp
@@ -386,7 +386,7 @@ fun m::one(): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun bar(l0: &mut u64, l1: u64)
diff --git a/third_party/move/move-compiler-v2/tests/eager-pushes/txn_reduced_01.exp b/third_party/move/move-compiler-v2/tests/eager-pushes/txn_reduced_01.exp
index 31c1b792c68b7..80ab600ffa1a4 100644
--- a/third_party/move/move-compiler-v2/tests/eager-pushes/txn_reduced_01.exp
+++ b/third_party/move/move-compiler-v2/tests/eager-pushes/txn_reduced_01.exp
@@ -481,7 +481,7 @@ public fun m::test($t0: &signer, $t1: vector, $t2: vector) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun call_other(l0: &signer, l1: address, l2: u64)
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/assign.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/assign.exp
index 1054c1312171c..0e7e53fe54ef3 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/assign.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/assign.exp
@@ -14,7 +14,7 @@ warning: Unused value of parameter `h`. Consider removing the parameter, or pref
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::assign
struct T has drop
h: u64
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/assign.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/assign.opt.exp
index 3269c94717e3e..85643609e402a 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/assign.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/assign.opt.exp
@@ -14,7 +14,7 @@ warning: Unused value of parameter `h`. Consider removing the parameter, or pref
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::assign
struct T has drop
h: u64
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/borrow.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/borrow.exp
index 4ada74061e640..5a27c84328e61 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/borrow.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/borrow.exp
@@ -14,7 +14,7 @@ warning: Unused value of parameter `param`. Consider removing the parameter, or
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::borrow
struct S
f: u64
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/borrow.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/borrow.opt.exp
index 1440651411d36..e57f96c5d787f 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/borrow.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/borrow.opt.exp
@@ -14,7 +14,7 @@ warning: Unused value of parameter `param`. Consider removing the parameter, or
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::borrow
struct S
f: u64
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_13952_stack_balance.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_13952_stack_balance.exp
index 9d2ddb5a4ef67..9ad1172c53bb8 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_13952_stack_balance.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_13952_stack_balance.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xcafe::Module0
struct Struct0 has copy + drop
x: bool
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_13952_stack_balance.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_13952_stack_balance.opt.exp
index 2bedf3b336cb8..da47ad2bc36bb 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_13952_stack_balance.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_13952_stack_balance.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xcafe::Module0
struct Struct0 has copy + drop
x: bool
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_13952_stack_balance_regression.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_13952_stack_balance_regression.exp
index 22dd72d7335fe..1ebb4b028e79b 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_13952_stack_balance_regression.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_13952_stack_balance_regression.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m
enum Data has drop
V1
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_13952_stack_balance_regression.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_13952_stack_balance_regression.opt.exp
index 03439dbcd0f92..bafe841288103 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_13952_stack_balance_regression.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_13952_stack_balance_regression.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m
enum Data has drop
V1
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_14396.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_14396.exp
index f2e6be69dbe50..ec224eb719d79 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_14396.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_14396.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xcafe::Module0
struct S has copy + drop + store + key
dummy_field: bool
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_14396.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_14396.opt.exp
index 36b91a448ac87..e298242e38f78 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_14396.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_14396.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xcafe::Module0
struct S has copy + drop + store + key
dummy_field: bool
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_14762.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_14762.exp
index ee12d7241bb38..50291dbb7a93e 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_14762.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_14762.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
use 0x1::option
use 0x1::vector
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_14762.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_14762.opt.exp
index 4436372b6cca0..5dfe5da8457e3 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_14762.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_14762.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
use 0x1::option
use 0x1::vector
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_14817.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_14817.exp
index b21ac2a653244..774906e7dfa0f 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_14817.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_14817.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xcafe::Module0
struct S
x: bool
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_14817.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_14817.opt.exp
index b21ac2a653244..774906e7dfa0f 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_14817.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_14817.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xcafe::Module0
struct S
x: bool
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_16057.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_16057.exp
index bc6244533965c..6790c8a5e5aaa 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_16057.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_16057.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct S has store
keys: vector
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_16057.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_16057.opt.exp
index 99defd57c554d..9ed3e88f0610d 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_16057.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_16057.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct S has store
keys: vector
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_17025.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_17025.exp
index e143e045852fb..acdc6383bd74f 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_17025.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_17025.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xcafe::Module0
// Function definition at index 0
#[persistent] public fun f1(l0: &bool, l1: bool)
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_17025.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_17025.opt.exp
index e143e045852fb..acdc6383bd74f 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_17025.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_17025.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xcafe::Module0
// Function definition at index 0
#[persistent] public fun f1(l0: &bool, l1: bool)
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_17393.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_17393.exp
index f5d5c70786235..406fb47759c4c 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_17393.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_17393.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xcafe::Module0
enum E has copy + drop
V1
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_17393.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_17393.opt.exp
index 98314db6a127d..38d61239861ac 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_17393.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_17393.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xcafe::Module0
enum E has copy + drop
V1
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_17602.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_17602.exp
index 2e321964ddbb1..f4666a12a80ae 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_17602.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_17602.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::test
struct T has drop
x: T0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_17602.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_17602.opt.exp
index 00d8cbbbd9751..59046bcccaa7f 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/bug_17602.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/bug_17602.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::test
struct T has drop
x: T0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/capture_key.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/capture_key.exp
index c21aaa3fd1635..caa6dae9714fe 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/capture_key.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/capture_key.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct S has key
i: u64
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/capture_key.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/capture_key.opt.exp
index c21aaa3fd1635..caa6dae9714fe 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/capture_key.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/capture_key.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct S has key
i: u64
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/const.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/const.exp
index 9557cd1ede945..a45491d9871d8 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/const.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/const.exp
@@ -68,7 +68,7 @@ warning: This assignment/binding to the left-hand-side variable `s` is unused. C
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::constant
// Function definition at index 0
fun test_constans()
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/const.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/const.opt.exp
index 668cb0be77ed3..7ac6a100c445d 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/const.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/const.opt.exp
@@ -68,7 +68,7 @@ warning: This assignment/binding to the left-hand-side variable `s` is unused. C
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::constant
// Function definition at index 0
fun test_constans()
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/eager_push_01.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/eager_push_01.exp
index 8ce5c6c7d6e49..f552e6446a394 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/eager_push_01.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/eager_push_01.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun bar(l0: u64, l1: u64, l2: u64, l3: u64, l4: u64, l5: u64)
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/eager_push_01.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/eager_push_01.opt.exp
index 8ce5c6c7d6e49..f552e6446a394 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/eager_push_01.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/eager_push_01.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun bar(l0: u64, l1: u64, l2: u64, l3: u64, l4: u64, l5: u64)
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/eager_push_02.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/eager_push_02.exp
index bc09bce56be8d..e524bbf6d57be 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/eager_push_02.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/eager_push_02.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(l0: u64, l1: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/eager_push_02.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/eager_push_02.opt.exp
index bc09bce56be8d..e524bbf6d57be 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/eager_push_02.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/eager_push_02.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(l0: u64, l1: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/fields.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/fields.exp
index 65dd56c6d4525..9c8d2e52f0dcc 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/fields.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/fields.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::fields
struct T has drop
h: u64
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/fields.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/fields.opt.exp
index 7dabdaa625704..f207ee1cabfed 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/fields.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/fields.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::fields
struct T has drop
h: u64
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/framework_reduced_06.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/framework_reduced_06.exp
index 0ac553538dfa5..6c507dc77d7f7 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/framework_reduced_06.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/framework_reduced_06.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct S
f: u64
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/framework_reduced_06.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/framework_reduced_06.opt.exp
index e8876aba81023..326082fce00c3 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/framework_reduced_06.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/framework_reduced_06.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct S
f: u64
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/generic_call.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/generic_call.exp
index 473d4acc378ab..b036df0c2c3e0 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/generic_call.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/generic_call.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::Test
// Function definition at index 0
fun foo(l0: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/generic_call.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/generic_call.opt.exp
index 473d4acc378ab..b036df0c2c3e0 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/generic_call.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/generic_call.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::Test
// Function definition at index 0
fun foo(l0: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/globals.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/globals.exp
index 090a668a1b94b..e3722fba1d557 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/globals.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/globals.exp
@@ -8,7 +8,7 @@ warning: Unused value of parameter `x`. Consider removing the parameter, or pref
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::globals
struct R has store + key
f: u64
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/globals.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/globals.opt.exp
index 4526947007364..c27067a353c7a 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/globals.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/globals.opt.exp
@@ -8,7 +8,7 @@ warning: Unused value of parameter `x`. Consider removing the parameter, or pref
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::globals
struct R has store + key
f: u64
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/has_script.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/has_script.exp
index b1532e66fca0c..a32788422e753 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/has_script.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/has_script.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
script
// Function definition at index 0
entry public fun main()
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/has_script.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/has_script.opt.exp
index 3173a24accdd8..cf1ab35a17460 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/has_script.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/has_script.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
script
// Function definition at index 0
entry public fun main()
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/if_else.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/if_else.exp
index a003a5d7669fd..e8c4971d184e1 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/if_else.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/if_else.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::if_else
// Function definition at index 0
fun if_else(l0: bool, l1: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/if_else.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/if_else.opt.exp
index 3cbcdcc1e7ad4..778d21ec74a21 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/if_else.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/if_else.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::if_else
// Function definition at index 0
fun if_else(l0: bool, l1: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/index_then_field_select.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/index_then_field_select.exp
index e25821c7d6f00..a7acdd43d95f4 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/index_then_field_select.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/index_then_field_select.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::test
struct Coin has copy + drop
_0: u256
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/index_then_field_select.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/index_then_field_select.opt.exp
index f551085f745de..38ac6f61c8dc0 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/index_then_field_select.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/index_then_field_select.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::test
struct Coin has copy + drop
_0: u256
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/issue_12404.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/issue_12404.exp
index bb002e7602bd6..27ad0eae0b22d 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/issue_12404.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/issue_12404.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
#[persistent] public fun test(): u64
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/issue_12404.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/issue_12404.opt.exp
index bb002e7602bd6..27ad0eae0b22d 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/issue_12404.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/issue_12404.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
#[persistent] public fun test(): u64
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/issue_12540.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/issue_12540.exp
index ba8788d9b3925..bb2884f5f51f9 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/issue_12540.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/issue_12540.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
#[persistent] public fun point_add_assign(l0: &mut u64, l1: &u64): &mut u64
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/issue_12540.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/issue_12540.opt.exp
index 9b9a6e4d9b1f4..f82b96c617d7c 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/issue_12540.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/issue_12540.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
#[persistent] public fun point_add_assign(l0: &mut u64, l1: &u64): &mut u64
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/issue_14243.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/issue_14243.exp
index b43c3eb499d56..053e79ac07b53 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/issue_14243.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/issue_14243.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun id_mut(l0: &mut T0): &mut T0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/issue_14243.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/issue_14243.opt.exp
index 1b10c59cde238..42597a5c27815 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/issue_14243.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/issue_14243.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun id_mut(l0: &mut T0): &mut T0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/loop.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/loop.exp
index 7847da46cafd8..35d6c9ef16940 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/loop.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/loop.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::loops
// Function definition at index 0
fun nested_loop(l0: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/loop.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/loop.opt.exp
index 89869ac40c8df..a80f00e20d3f4 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/loop.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/loop.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::loops
// Function definition at index 0
fun nested_loop(l0: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/multi_use.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/multi_use.exp
index 0f98377899478..8c8dee3167518 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/multi_use.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/multi_use.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
#[persistent] public fun consume(l0: u64, l1: u64, l2: u64, l3: u64)
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/multi_use.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/multi_use.opt.exp
index 0f98377899478..8c8dee3167518 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/multi_use.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/multi_use.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
#[persistent] public fun consume(l0: u64, l1: u64, l2: u64, l3: u64)
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/operators.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/operators.exp
index f3584c853c466..c747b1a2d0153 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/operators.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/operators.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::operators
// Function definition at index 0
fun arithm(l0: u64, l1: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/operators.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/operators.opt.exp
index 1543d76323ab9..9d87238af930a 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/operators.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/operators.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::operators
// Function definition at index 0
fun arithm(l0: u64, l1: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/opt_load_01.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/opt_load_01.exp
index e3e5dadd1a57b..5ac863c850a2c 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/opt_load_01.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/opt_load_01.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume(l0: u64, l1: u64, l2: u64, l3: u64, l4: u64, l5: u64)
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/opt_load_01.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/opt_load_01.opt.exp
index e3e5dadd1a57b..5ac863c850a2c 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/opt_load_01.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/opt_load_01.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume(l0: u64, l1: u64, l2: u64, l3: u64, l4: u64, l5: u64)
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/opt_load_02.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/opt_load_02.exp
index 1b748448f190a..c61c81b8c0d97 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/opt_load_02.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/opt_load_02.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct S
x: u64
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/opt_load_02.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/opt_load_02.opt.exp
index 1b748448f190a..c61c81b8c0d97 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/opt_load_02.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/opt_load_02.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct S
x: u64
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/opt_load_04.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/opt_load_04.exp
index 124ef3f75e4cf..abde7465ce730 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/opt_load_04.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/opt_load_04.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun bar(l0: &mut u64)
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/opt_load_04.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/opt_load_04.opt.exp
index 124ef3f75e4cf..abde7465ce730 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/opt_load_04.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/opt_load_04.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun bar(l0: &mut u64)
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/opt_load_05.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/opt_load_05.exp
index b809477e7e5ba..b6e3af6ec8e59 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/opt_load_05.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/opt_load_05.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume1(l0: u64, l1: u64, l2: u64)
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/opt_load_05.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/opt_load_05.opt.exp
index 3350e45c54099..034d41b0595b7 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/opt_load_05.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/opt_load_05.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume1(l0: u64, l1: u64, l2: u64)
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/pack_order.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/pack_order.exp
index d63972fe2b239..280af60c04f2f 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/pack_order.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/pack_order.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::pack_unpack
struct S
f1: u8
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/pack_order.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/pack_order.opt.exp
index 2a0ab7eaaac4d..fe738aeb42287 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/pack_order.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/pack_order.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::pack_unpack
struct S
f1: u8
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/pack_unpack.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/pack_unpack.exp
index 220a3d69b3e8b..237cb64531fdb 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/pack_unpack.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/pack_unpack.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::pack_unpack
struct T
h: u64
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/pack_unpack.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/pack_unpack.opt.exp
index c43b3448b8c97..4a0bfa74a8609 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/pack_unpack.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/pack_unpack.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::pack_unpack
struct T
h: u64
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/pack_unpack_ref.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/pack_unpack_ref.exp
index 50e6750486ac9..ac5749a68b41a 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/pack_unpack_ref.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/pack_unpack_ref.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::pack_unpack_ref
struct G
x1: u64
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/pack_unpack_ref.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/pack_unpack_ref.opt.exp
index 1f2f2fb336954..122ef3df20b68 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/pack_unpack_ref.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/pack_unpack_ref.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::pack_unpack_ref
struct G
x1: u64
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/struct_variants.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/struct_variants.exp
index 872f8d7856d2a..61c30b041abcc 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/struct_variants.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/struct_variants.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct Box has drop
x: u64
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/struct_variants.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/struct_variants.opt.exp
index 1037099400f33..8613fef960c8d 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/struct_variants.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/struct_variants.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct Box has drop
x: u64
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/basic_enums.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/basic_enums.exp
index 17de3cab8918a..dc21740255e3e 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/basic_enums.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/basic_enums.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
friend 0xc0ffee::n
friend 0xc0ffee::n2
@@ -77,7 +77,7 @@ friend fun borrow_mut$Wrapper$0$0(l0: &mut Wrapper): &mut u64
pack_variant Wrapper, V1
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n
use 0xc0ffee::m
// Function definition at index 0
@@ -99,7 +99,7 @@ l0: ld_u64 1
abort
l1: ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n2
use 0xc0ffee::m
// Function definition at index 0
@@ -109,7 +109,7 @@ fun test_pack()
pop
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n3
use 0xc0ffee::m
// Function definition at index 0
@@ -119,7 +119,7 @@ fun test_unpack(l0: m::Wrapper)
pop
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n4
use 0xc0ffee::m
// Function definition at index 0
@@ -129,7 +129,7 @@ fun test_select_variant(l0: m::Wrapper): u64
read_ref
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n5
use 0xc0ffee::m
// Function definition at index 0
@@ -138,7 +138,7 @@ fun test_test_variant(l0: m::Wrapper): bool
call m::test_variant$Wrapper$V1
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n6
use 0xc0ffee::m
// Function definition at index 0
@@ -154,7 +154,7 @@ fun test_test_variant_mut_borrow(l0: &mut m::Wrapper): bool
call m::test_variant$Wrapper$V1
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n7
use 0xc0ffee::m
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/basic_enums.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/basic_enums.opt.exp
index 7daaf5b606013..a93184bca38d6 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/basic_enums.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/basic_enums.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
friend 0xc0ffee::n
friend 0xc0ffee::n2
@@ -77,7 +77,7 @@ friend fun borrow_mut$Wrapper$0$0(l0: &mut Wrapper): &mut u64
pack_variant Wrapper, V1
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n
use 0xc0ffee::m
// Function definition at index 0
@@ -98,7 +98,7 @@ fun test()
l0: ld_u64 1
abort
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n2
use 0xc0ffee::m
// Function definition at index 0
@@ -108,7 +108,7 @@ fun test_pack()
pop
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n3
use 0xc0ffee::m
// Function definition at index 0
@@ -118,7 +118,7 @@ fun test_unpack(l0: m::Wrapper)
pop
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n4
use 0xc0ffee::m
// Function definition at index 0
@@ -128,7 +128,7 @@ fun test_select_variant(l0: m::Wrapper): u64
read_ref
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n5
use 0xc0ffee::m
// Function definition at index 0
@@ -137,7 +137,7 @@ fun test_test_variant(l0: m::Wrapper): bool
call m::test_variant$Wrapper$V1
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n6
use 0xc0ffee::m
// Function definition at index 0
@@ -153,7 +153,7 @@ fun test_test_variant_mut_borrow(l0: &mut m::Wrapper): bool
call m::test_variant$Wrapper$V1
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n7
use 0xc0ffee::m
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/basic_structs.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/basic_structs.exp
index 04f40f6ad365b..1a45371814461 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/basic_structs.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/basic_structs.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
friend 0xc0ffee::n9
struct Empty
@@ -99,7 +99,7 @@ friend fun borrow_mut$S2$1(l0: &mut S2): &mut S
mut_borrow_field S2, s
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m_friend
friend 0xc0ffee::n_friend
struct T
@@ -133,7 +133,7 @@ friend fun borrow_mut$T$0(l0: &mut T): &mut u64
mut_borrow_field T, x
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n7
use 0xc0ffee::m
// Function definition at index 0
@@ -142,7 +142,7 @@ fun test_pack_struct(): m::S
call m::pack$S
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n8
use 0xc0ffee::m
// Function definition at index 0
@@ -151,7 +151,7 @@ fun test_pack_struct(): m::S
call m::pack$S
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n9
use 0xc0ffee::m
// Function definition at index 0
@@ -167,7 +167,7 @@ fun test_pack_unpack_struct_in_lambda()
pop
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n_friend
use 0xc0ffee::m_friend
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/basic_structs.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/basic_structs.opt.exp
index 04f40f6ad365b..1a45371814461 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/basic_structs.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/basic_structs.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
friend 0xc0ffee::n9
struct Empty
@@ -99,7 +99,7 @@ friend fun borrow_mut$S2$1(l0: &mut S2): &mut S
mut_borrow_field S2, s
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m_friend
friend 0xc0ffee::n_friend
struct T
@@ -133,7 +133,7 @@ friend fun borrow_mut$T$0(l0: &mut T): &mut u64
mut_borrow_field T, x
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n7
use 0xc0ffee::m
// Function definition at index 0
@@ -142,7 +142,7 @@ fun test_pack_struct(): m::S
call m::pack$S
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n8
use 0xc0ffee::m
// Function definition at index 0
@@ -151,7 +151,7 @@ fun test_pack_struct(): m::S
call m::pack$S
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n9
use 0xc0ffee::m
// Function definition at index 0
@@ -167,7 +167,7 @@ fun test_pack_unpack_struct_in_lambda()
pop
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n_friend
use 0xc0ffee::m_friend
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_field_api.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_field_api.exp
index f2532db1786f4..c80e77afa7bcd 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_field_api.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_field_api.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m
friend 0x42::m2
enum Data has drop
@@ -215,7 +215,7 @@ friend fun borrow_mut$Data2$1$2(l0: &mut Data2): &mut T1
mut_borrow_variant_field Data2, V2::x
ret
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m2
use 0x42::m
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_field_api.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_field_api.opt.exp
index be82e8601ad92..3b12c7c9a79f1 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_field_api.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_field_api.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m
friend 0x42::m2
enum Data has drop
@@ -215,7 +215,7 @@ friend fun borrow_mut$Data2$1$2(l0: &mut Data2): &mut T1
mut_borrow_variant_field Data2, V2::x
ret
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m2
use 0x42::m
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_offset.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_offset.exp
index 5b4181207beca..e17b7fb1cc58d 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_offset.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_offset.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
enum E has copy + drop
V1
@@ -127,7 +127,7 @@ public fun borrow_mut$E$1$1(l0: &mut E): &mut u16
mut_borrow_variant_field E, V2::o3
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n6
use 0xc0ffee::m
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_offset.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_offset.opt.exp
index 6f6cb2988768e..d241100652baf 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_offset.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_offset.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
enum E has copy + drop
V1
@@ -127,7 +127,7 @@ public fun borrow_mut$E$1$1(l0: &mut E): &mut u16
mut_borrow_variant_field E, V2::o3
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n6
use 0xc0ffee::m
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_pack_unpack_abort.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_pack_unpack_abort.exp
index 10d46ea03d077..f42b9902d509d 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_pack_unpack_abort.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_pack_unpack_abort.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m1
enum Result has copy + drop
Ok
@@ -78,7 +78,7 @@ public fun borrow_mut$Result$0$1(l0: &mut Resu
mut_borrow_variant_field Result, Err::_0
ret
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m2
use 0x42::m1
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_pack_unpack_abort.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_pack_unpack_abort.opt.exp
index 07b0cbab059ad..63a40c4f9f2e8 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_pack_unpack_abort.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_pack_unpack_abort.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m1
enum Result has copy + drop
Ok
@@ -78,7 +78,7 @@ public fun borrow_mut$Result$0$1(l0: &mut Resu
mut_borrow_variant_field Result, Err::_0
ret
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m2
use 0x42::m1
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_pack_unpack_api.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_pack_unpack_api.exp
index fa2c208bd2218..a3dec90271ef0 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_pack_unpack_api.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_pack_unpack_api.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m1
enum E has drop
A
@@ -219,7 +219,7 @@ public fun borrow_mut$Result$0$1(l0: &mut Resu
mut_borrow_variant_field Result, Err::_0
ret
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m2
use 0x42::m1
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_pack_unpack_api.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_pack_unpack_api.opt.exp
index 9d49abaed00be..f21859683b57e 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_pack_unpack_api.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_pack_unpack_api.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m1
enum E has drop
A
@@ -219,7 +219,7 @@ public fun borrow_mut$Result$0$1(l0: &mut Resu
mut_borrow_variant_field Result, Err::_0
ret
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m2
use 0x42::m1
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_variant.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_variant.exp
index b9e6193a566ce..adc95a04fa49e 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_variant.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_variant.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m
friend 0x42::m2
enum Data has drop
@@ -401,7 +401,7 @@ friend fun borrow_mut$V$0(l0: &mut V): &mut vector
mut_borrow_field V, x
ret
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m2
use 0x42::m
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_variant.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_variant.opt.exp
index 4c038ffa03c9f..68c38e8b57358 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_variant.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/enum_variant.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m
friend 0x42::m2
enum Data has drop
@@ -401,7 +401,7 @@ friend fun borrow_mut$V$0(l0: &mut V): &mut vector
mut_borrow_field V, x
ret
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m2
use 0x42::m
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/fv_enum_api.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/fv_enum_api.exp
index a52cf29a01e3d..506f4f8ce8d99 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/fv_enum_api.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/fv_enum_api.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x66::fv_enum_basic
enum Action has drop
Noop
@@ -269,7 +269,7 @@ public fun borrow_mut$Version$0$0(l0: &mut Version): &mut |T0|T1
mut_borrow_variant_field Version, V1::v1
ret
-// Bytecode version v9
+// Bytecode version v10
module 0x66::fv_enum_basic_public
use 0x66::fv_enum_basic
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/fv_enum_api.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/fv_enum_api.opt.exp
index dbe56864ab307..b22e3e5a3e81a 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/fv_enum_api.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/fv_enum_api.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x66::fv_enum_basic
enum Action has drop
Noop
@@ -269,7 +269,7 @@ public fun borrow_mut$Version$0$0(l0: &mut Version): &mut |T0|T1
mut_borrow_variant_field Version, V1::v1
ret
-// Bytecode version v9
+// Bytecode version v10
module 0x66::fv_enum_basic_public
use 0x66::fv_enum_basic
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/fv_struct_api.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/fv_struct_api.exp
index e05bd23296f59..d389261164ed3 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/fv_struct_api.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/fv_struct_api.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m1
struct Holder has copy + drop
_0: Predicate
@@ -64,7 +64,7 @@ public fun borrow_mut$Predicate$0(l0: &mut Predicate): &mut |&T0|bool ha
mut_borrow_field Predicate, _0
ret
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m2
use 0x42::m1
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/fv_struct_api.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/fv_struct_api.opt.exp
index be55062a050bd..eb8c9f16616ba 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/fv_struct_api.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/fv_struct_api.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m1
struct Holder has copy + drop
_0: Predicate
@@ -64,7 +64,7 @@ public fun borrow_mut$Predicate$0(l0: &mut Predicate): &mut |&T0|bool ha
mut_borrow_field Predicate, _0
ret
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m2
use 0x42::m1
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/positional_field_api.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/positional_field_api.exp
index 069312d3036dc..cf1e94fe1151b 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/positional_field_api.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/positional_field_api.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m1
struct NestedPair has drop
_0: Pair
@@ -160,7 +160,7 @@ public fun borrow_mut$Wrapper$0(l0: &mut Wrapper): &mut T0
mut_borrow_field Wrapper, _0
ret
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m2
use 0x42::m1
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/positional_field_api.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/positional_field_api.opt.exp
index 860cb97273dc4..6027ec5b84ac3 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/positional_field_api.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/positional_field_api.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m1
struct NestedPair has drop
_0: Pair
@@ -160,7 +160,7 @@ public fun borrow_mut$Wrapper$0(l0: &mut Wrapper): &mut T0
mut_borrow_field Wrapper, _0
ret
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m2
use 0x42::m1
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/positional_pack_unpack_api.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/positional_pack_unpack_api.exp
index b922fcf10bbd7..47437d1927328 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/positional_pack_unpack_api.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/positional_pack_unpack_api.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m1
struct NestedPair has drop
_0: Pair
@@ -160,7 +160,7 @@ public fun borrow_mut$Wrapper$0(l0: &mut Wrapper): &mut T0
mut_borrow_field Wrapper, _0
ret
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m2
use 0x42::m1
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/positional_pack_unpack_api.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/positional_pack_unpack_api.opt.exp
index 479e3b7dfa4d4..3089d69405e4c 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/positional_pack_unpack_api.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/positional_pack_unpack_api.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m1
struct NestedPair has drop
_0: Pair
@@ -160,7 +160,7 @@ public fun borrow_mut$Wrapper$0(l0: &mut Wrapper): &mut T0
mut_borrow_field Wrapper, _0
ret
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m2
use 0x42::m1
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_borrow_field_api.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_borrow_field_api.exp
index 21c0498ad26df..75972c23e7119 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_borrow_field_api.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_borrow_field_api.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m1
struct T has copy + drop + store
h: T0
@@ -81,7 +81,7 @@ public fun borrow_mut$S$1(l0: &mut S): &mut T
mut_borrow_field S, g
ret
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m2
use 0x42::m1
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_borrow_field_api.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_borrow_field_api.opt.exp
index dbe6124a98318..ce7c885972447 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_borrow_field_api.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_borrow_field_api.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m1
struct T has copy + drop + store
h: T0
@@ -81,7 +81,7 @@ public fun borrow_mut$S$1(l0: &mut S): &mut T
mut_borrow_field S, g
ret
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m2
use 0x42::m1
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_mutate_vector.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_mutate_vector.exp
index ecccad8d75c15..5926366661797 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_mutate_vector.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_mutate_vector.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m
struct Scalar has copy + drop + store
data: vector
@@ -33,7 +33,7 @@ public fun borrow_mut$Scalar$0(l0: &mut Scalar): &mut vector
mut_borrow_field Scalar, data
ret
-// Bytecode version v9
+// Bytecode version v10
module 0x42::test_m
use 0x42::m
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_mutate_vector.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_mutate_vector.opt.exp
index ecccad8d75c15..5926366661797 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_mutate_vector.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_mutate_vector.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m
struct Scalar has copy + drop + store
data: vector
@@ -33,7 +33,7 @@ public fun borrow_mut$Scalar$0(l0: &mut Scalar): &mut vector
mut_borrow_field Scalar, data
ret
-// Bytecode version v9
+// Bytecode version v10
module 0x42::test_m
use 0x42::m
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_nested_mutate.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_nested_mutate.exp
index beb88401d3f58..4b5ecc511fb9c 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_nested_mutate.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_nested_mutate.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct T has copy + drop
y: u64
@@ -64,7 +64,7 @@ public fun borrow_mut$S$0(l0: &mut S): &mut T
mut_borrow_field S, x
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::test_m
use 0xc0ffee::m
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_nested_mutate.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_nested_mutate.opt.exp
index ec259c5772e3f..b61358df223dd 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_nested_mutate.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_nested_mutate.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct T has copy + drop
y: u64
@@ -64,7 +64,7 @@ public fun borrow_mut$S$0(l0: &mut S): &mut T
mut_borrow_field S, x
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::test_m
use 0xc0ffee::m
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_pack_unpack_api.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_pack_unpack_api.exp
index f7e52966682af..b69d5edc50624 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_pack_unpack_api.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_pack_unpack_api.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m1
struct T has copy + drop + store
h: T0
@@ -194,7 +194,7 @@ public fun borrow_mut$V$0(l0: &mut V): &mut vector
mut_borrow_field V, items
ret
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m3
use 0x42::m1
struct S has drop
@@ -245,7 +245,7 @@ public fun borrow_mut$S$1(l0: &mut S): &mut m1::T
mut_borrow_field S, g
ret
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m2
use 0x42::m1
use 0x42::m3
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_pack_unpack_api.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_pack_unpack_api.opt.exp
index 0000decd5e30e..f3c45fe854f85 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_pack_unpack_api.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_pack_unpack_api.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m1
struct T has copy + drop + store
h: T0
@@ -194,7 +194,7 @@ public fun borrow_mut$V$0(l0: &mut V): &mut vector
mut_borrow_field V, items
ret
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m3
use 0x42::m1
struct S has drop
@@ -245,7 +245,7 @@ public fun borrow_mut$S$1(l0: &mut S): &mut m1::T
mut_borrow_field S, g
ret
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m2
use 0x42::m1
use 0x42::m3
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_phantoms.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_phantoms.exp
index 7619dc2cb065a..f553f2d5ecf34 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_phantoms.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_phantoms.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::phantoms
struct T
dummy_field: bool
@@ -36,7 +36,7 @@ public fun borrow_mut$S$0(l0: &mut S): &mut address
mut_borrow_field S, addr
ret
-// Bytecode version v9
+// Bytecode version v10
module 0x42::phantoms2
use 0x42::phantoms
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_phantoms.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_phantoms.opt.exp
index 7619dc2cb065a..f553f2d5ecf34 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_phantoms.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/struct_phantoms.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::phantoms
struct T
dummy_field: bool
@@ -36,7 +36,7 @@ public fun borrow_mut$S$0(l0: &mut S): &mut address
mut_borrow_field S, addr
ret
-// Bytecode version v9
+// Bytecode version v10
module 0x42::phantoms2
use 0x42::phantoms
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/structs_same_name.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/structs_same_name.exp
index 3398666a1eace..e3944bc335723 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/structs_same_name.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/structs_same_name.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m_friend
friend 0xc0ffee::n_friend
struct S
@@ -34,7 +34,7 @@ friend fun borrow_mut$S$0(l0: &mut S): &mut T0
mut_borrow_field S, f
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m_friend_2
friend 0xc0ffee::n_friend
struct S
@@ -68,7 +68,7 @@ friend fun borrow_mut$S$0(l0: &mut S): &mut T0
mut_borrow_field S, f
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n_friend
use 0xc0ffee::m_friend
use 0xc0ffee::m_friend_2
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/structs_same_name.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/structs_same_name.opt.exp
index 3398666a1eace..e3944bc335723 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/structs_same_name.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/structs_same_name.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m_friend
friend 0xc0ffee::n_friend
struct S
@@ -34,7 +34,7 @@ friend fun borrow_mut$S$0(l0: &mut S): &mut T0
mut_borrow_field S, f
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m_friend_2
friend 0xc0ffee::n_friend
struct S
@@ -68,7 +68,7 @@ friend fun borrow_mut$S$0(l0: &mut S): &mut T0
mut_borrow_field S, f
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n_friend
use 0xc0ffee::m_friend
use 0xc0ffee::m_friend_2
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/structs_with_ability.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/structs_with_ability.exp
index 4d0eb64ff48e9..8d87a6b7f62a9 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/structs_with_ability.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/structs_with_ability.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m_friend
friend 0xc0ffee::n_friend
struct S
@@ -34,7 +34,7 @@ friend fun borrow_mut$S$0(l0: &mut S): &mut T0
mut_borrow_field S, f
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n_friend
use 0xc0ffee::m_friend
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/structs_with_ability.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/structs_with_ability.opt.exp
index 4d0eb64ff48e9..8d87a6b7f62a9 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/structs_with_ability.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/structs_visibility/structs_with_ability.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m_friend
friend 0xc0ffee::n_friend
struct S
@@ -34,7 +34,7 @@ friend fun borrow_mut$S$0(l0: &mut S): &mut T0
mut_borrow_field S, f
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n_friend
use 0xc0ffee::m_friend
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/uncurried_arguments.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/uncurried_arguments.exp
index a03466399251c..fa570857f61fb 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/uncurried_arguments.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/uncurried_arguments.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun take(l0: u64)
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/uncurried_arguments.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/uncurried_arguments.opt.exp
index a03466399251c..fa570857f61fb 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/uncurried_arguments.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/uncurried_arguments.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun take(l0: u64)
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/unpack_generic_struct.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/unpack_generic_struct.exp
index 781a592960f27..1a85a62029e00 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/unpack_generic_struct.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/unpack_generic_struct.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m
use 0x1::vector
struct E has copy + drop + store
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/unpack_generic_struct.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/unpack_generic_struct.opt.exp
index 7691ab76080fc..80c852afd17da 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/unpack_generic_struct.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/unpack_generic_struct.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m
use 0x1::vector
struct E has copy + drop + store
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/unpack_generic_struct_typed.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/unpack_generic_struct_typed.exp
index 781a592960f27..1a85a62029e00 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/unpack_generic_struct_typed.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/unpack_generic_struct_typed.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m
use 0x1::vector
struct E has copy + drop + store
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/unpack_generic_struct_typed.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/unpack_generic_struct_typed.opt.exp
index 7691ab76080fc..80c852afd17da 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/unpack_generic_struct_typed.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/unpack_generic_struct_typed.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m
use 0x1::vector
struct E has copy + drop + store
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/variants_match_reduces_to_is.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/variants_match_reduces_to_is.exp
index adab0abc381e3..2fa224acb70ef 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/variants_match_reduces_to_is.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/variants_match_reduces_to_is.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x815::m
enum Color
RGB
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/variants_match_reduces_to_is.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/variants_match_reduces_to_is.opt.exp
index f933e680bf928..0c38c41420625 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/variants_match_reduces_to_is.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/variants_match_reduces_to_is.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x815::m
enum Color
RGB
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/vector.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/vector.exp
index 6cb2443e883a6..98ef42e65a548 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/vector.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/vector.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::vector
use 0x1::vector
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/vector.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/vector.opt.exp
index bcf178ccf1c19..fc16c47774184 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/vector.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/vector.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::vector
use 0x1::vector
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/with_spec.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/with_spec.exp
index eae73a431a21d..b9ec737de8784 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/with_spec.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/with_spec.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m
struct E
k: u8
diff --git a/third_party/move/move-compiler-v2/tests/file-format-generator/with_spec.opt.exp b/third_party/move/move-compiler-v2/tests/file-format-generator/with_spec.opt.exp
index eae73a431a21d..b9ec737de8784 100644
--- a/third_party/move/move-compiler-v2/tests/file-format-generator/with_spec.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/file-format-generator/with_spec.opt.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m
struct E
k: u8
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/def_use_01.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/def_use_01.off.exp
index 80d3cf200a54e..60cf2f7af5c65 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/def_use_01.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/def_use_01.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun one_one(): (u64, u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/def_use_01.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/def_use_01.on.exp
index ce8ef77a8fef0..b4e80e566c3c8 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/def_use_01.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/def_use_01.on.exp
@@ -47,7 +47,7 @@ public fun m::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun one_one(): (u64, u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/def_use_02.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/def_use_02.off.exp
index a660820886607..4c9bf8a868440 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/def_use_02.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/def_use_02.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun one_one(): (u64, u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/def_use_02.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/def_use_02.on.exp
index 77b0909aaa3b3..a5e4039b7a62c 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/def_use_02.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/def_use_02.on.exp
@@ -47,7 +47,7 @@ public fun m::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun one_one(): (u64, u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/def_use_03.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/def_use_03.off.exp
index 4174a0372e05f..345eee4f6b558 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/def_use_03.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/def_use_03.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun one_one(): (u64, u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/def_use_03.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/def_use_03.on.exp
index adf9da7d0cd52..edd81b89a167e 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/def_use_03.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/def_use_03.on.exp
@@ -47,7 +47,7 @@ public fun m::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun one_one(): (u64, u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/def_use_04.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/def_use_04.off.exp
index 713bdb1d686c9..5d00db124ee6b 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/def_use_04.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/def_use_04.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun one_one(): (u64, u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/def_use_04.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/def_use_04.on.exp
index 81333c68ac40b..efd381113b88d 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/def_use_04.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/def_use_04.on.exp
@@ -47,7 +47,7 @@ public fun m::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun one_one(): (u64, u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/def_use_05.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/def_use_05.off.exp
index 99a9210687280..22a0838c5ba8c 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/def_use_05.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/def_use_05.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun one_one(): (u64, u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/def_use_05.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/def_use_05.on.exp
index e3c1c84b445f6..bc5b056ad0d92 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/def_use_05.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/def_use_05.on.exp
@@ -44,7 +44,7 @@ public fun m::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun one_one(): (u64, u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/def_use_06.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/def_use_06.off.exp
index 2024c555f79bb..8b710e8523465 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/def_use_06.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/def_use_06.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun one(): u64
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/def_use_06.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/def_use_06.on.exp
index 9b77c6ca209e9..57d77f747fcc8 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/def_use_06.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/def_use_06.on.exp
@@ -34,7 +34,7 @@ public fun m::test($t0: u64) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun one(): u64
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/def_use_07.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/def_use_07.off.exp
index 14c7f3871c78e..da3c44505093e 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/def_use_07.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/def_use_07.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun foo(l0: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/def_use_07.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/def_use_07.on.exp
index 3458d2a674150..52f6a9cb458c8 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/def_use_07.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/def_use_07.on.exp
@@ -43,7 +43,7 @@ public fun m::test(): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun foo(l0: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/def_use_08.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/def_use_08.off.exp
index a82a15d395356..08e822615c1d5 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/def_use_08.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/def_use_08.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun foo(): (u64, u64, u64, u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/def_use_08.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/def_use_08.on.exp
index 11653e1067340..79bcbf5563f54 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/def_use_08.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/def_use_08.on.exp
@@ -52,7 +52,7 @@ public fun m::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun foo(): (u64, u64, u64, u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/framework_reduced_11.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/framework_reduced_11.off.exp
index 62b67c33df7e3..4cdc913a316b0 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/framework_reduced_11.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/framework_reduced_11.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume(l0: u64, l1: &u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/framework_reduced_11.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/framework_reduced_11.on.exp
index 76a179144940f..20721789007f8 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/framework_reduced_11.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/framework_reduced_11.on.exp
@@ -87,7 +87,7 @@ public fun m::test($t0: vector) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume(l0: u64, l1: &u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/framework_reduced_12.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/framework_reduced_12.off.exp
index 843620ecd0c5f..82f502341baba 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/framework_reduced_12.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/framework_reduced_12.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun bytes(l0: &u64): vector
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/framework_reduced_12.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/framework_reduced_12.on.exp
index 1297e1bb0aafc..00814ea37bf7c 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/framework_reduced_12.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/framework_reduced_12.on.exp
@@ -169,7 +169,7 @@ fun m::test($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun bytes(l0: &u64): vector
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_01.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_01.off.exp
index b0351e80dc78a..547010754629e 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_01.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_01.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
#[persistent] public fun consume(l0: u64, l1: u64, l2: u64, l3: u64, l4: u64, l5: u64, l6: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_01.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_01.on.exp
index 78023fb205913..b50297281c671 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_01.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_01.on.exp
@@ -66,7 +66,7 @@ public fun m::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
#[persistent] public fun consume(l0: u64, l1: u64, l2: u64, l3: u64, l4: u64, l5: u64, l6: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_02.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_02.off.exp
index 0b1dd1a1c05f1..ba90edccd6ffc 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_02.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_02.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume(l0: u64, l1: u64, l2: u64, l3: u64, l4: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_02.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_02.on.exp
index 495794f157ecf..3afcda891e345 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_02.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_02.on.exp
@@ -58,7 +58,7 @@ public fun m::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume(l0: u64, l1: u64, l2: u64, l3: u64, l4: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_03.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_03.off.exp
index 3085aea51d8ec..945ffbab70e7b 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_03.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_03.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume_2(l0: u64, l1: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_03.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_03.on.exp
index 581508385b8f8..5af398a0e664f 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_03.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_03.on.exp
@@ -66,7 +66,7 @@ public fun m::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume_2(l0: u64, l1: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_04.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_04.off.exp
index 72b256e9c785e..bb7156db27461 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_04.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_04.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume_2(l0: u64, l1: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_04.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_04.on.exp
index 5d5fedc3b71c5..35784cae59f06 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_04.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_04.on.exp
@@ -80,7 +80,7 @@ fun m::two(): (u64, u64) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume_2(l0: u64, l1: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_05.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_05.off.exp
index 1c0e0a96764a2..4c727eb257326 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_05.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_05.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume_2(l0: u64, l1: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_05.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_05.on.exp
index 96a6fedf8d372..e74bc78275211 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_05.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/in_order_use_05.on.exp
@@ -47,7 +47,7 @@ public fun m::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume_2(l0: u64, l1: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/loop_01.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/loop_01.off.exp
index 7f70b6bc02129..86bde215a1cb4 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/loop_01.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/loop_01.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun foo(l0: u64): (u64, u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/loop_01.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/loop_01.on.exp
index 1b428aedf075d..2fc2a4952c433 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/loop_01.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/loop_01.on.exp
@@ -72,7 +72,7 @@ public fun m::test2($t0: u64) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun foo(l0: u64): (u64, u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/loop_02.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/loop_02.off.exp
index 57bbc16130d8b..b5bd04009925a 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/loop_02.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/loop_02.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun inc(l0: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/loop_02.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/loop_02.on.exp
index e92c5cb5903b7..ee32f14a9de99 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/loop_02.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/loop_02.on.exp
@@ -53,7 +53,7 @@ public fun m::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun inc(l0: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_01.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_01.off.exp
index 65180f4914e8e..e4d0da19de868 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_01.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_01.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
#[persistent] public fun consume(l0: u64, l1: u64, l2: u64, l3: u64, l4: u64, l5: u64, l6: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_01.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_01.on.exp
index 9e9613509797f..1367612b34b6d 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_01.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_01.on.exp
@@ -67,7 +67,7 @@ public fun m::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
#[persistent] public fun consume(l0: u64, l1: u64, l2: u64, l3: u64, l4: u64, l5: u64, l6: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_02.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_02.off.exp
index 67b49c7bcb305..4c3c2c2654b01 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_02.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_02.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume(l0: u64, l1: u64, l2: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_02.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_02.on.exp
index df076d06e909d..a08bf5f9f20f6 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_02.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_02.on.exp
@@ -40,7 +40,7 @@ public fun m::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume(l0: u64, l1: u64, l2: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_03.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_03.off.exp
index 315236ad6e032..7bb46ae48e7fe 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_03.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_03.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume(l0: u64, l1: u64, l2: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_03.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_03.on.exp
index 11fcf4f5b58db..87929e616f38c 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_03.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_03.on.exp
@@ -41,7 +41,7 @@ public fun m::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume(l0: u64, l1: u64, l2: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_04.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_04.off.exp
index bc3d1dc7c6355..8531372c44724 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_04.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_04.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume(l0: u64, l1: u64, l2: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_04.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_04.on.exp
index e9efac5d1c071..2990001327420 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_04.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_04.on.exp
@@ -41,7 +41,7 @@ public fun m::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume(l0: u64, l1: u64, l2: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_05.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_05.off.exp
index a5469f39c5d5f..a46f769da6d4a 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_05.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_05.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume(l0: u64, l1: u64, l2: u64, l3: u64, l4: u64, l5: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_05.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_05.on.exp
index 907f31878391d..2f5872bc3863c 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_05.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_05.on.exp
@@ -49,7 +49,7 @@ fun m::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume(l0: u64, l1: u64, l2: u64, l3: u64, l4: u64, l5: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_06.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_06.off.exp
index aab3494693b1f..732b3862b6756 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_06.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_06.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume(l0: u64, l1: u64, l2: u64, l3: u64, l4: u64, l5: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_06.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_06.on.exp
index a86711d60a818..c45dde2d64575 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_06.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_06.on.exp
@@ -79,7 +79,7 @@ fun m::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume(l0: u64, l1: u64, l2: u64, l3: u64, l4: u64, l5: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_07.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_07.off.exp
index 472d0382db465..465c76baad7d8 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_07.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_07.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume_2(l0: u64, l1: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_07.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_07.on.exp
index 63a55c208c0db..bae9a0dd2df82 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_07.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_07.on.exp
@@ -66,7 +66,7 @@ public fun m::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume_2(l0: u64, l1: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_08.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_08.off.exp
index 9c057f36fcb81..3d58e3be3f304 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_08.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_08.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume_2(l0: u64, l1: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_08.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_08.on.exp
index 450cde4d20a02..91dd3774f9866 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_08.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_08.on.exp
@@ -80,7 +80,7 @@ fun m::two(): (u64, u64) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume_2(l0: u64, l1: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_09.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_09.off.exp
index 23a46297a0c27..a8e142dbe1767 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_09.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_09.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume_1(l0: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_09.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_09.on.exp
index e530637dec647..13cecdec0b470 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_09.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_09.on.exp
@@ -67,7 +67,7 @@ public fun m::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume_1(l0: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_10.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_10.off.exp
index af4c80f628207..89fc5587ee73b 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_10.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_10.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume_1(l0: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_10.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_10.on.exp
index 75772a88fdc91..977168bc08496 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_10.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_10.on.exp
@@ -49,7 +49,7 @@ public fun m::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume_1(l0: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_11.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_11.off.exp
index bc46a9d5e49cf..d5e76934657b9 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_11.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_11.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume_2(l0: u64, l1: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_11.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_11.on.exp
index 86e4410f19d1b..1c85eb70ffb9b 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_11.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_11.on.exp
@@ -46,7 +46,7 @@ public fun m::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume_2(l0: u64, l1: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_12.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_12.off.exp
index 11b7f1297614c..2d23816067473 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_12.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_12.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume_1(l0: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_12.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_12.on.exp
index 24da55602f1cd..825a3bb9490a9 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_12.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_12.on.exp
@@ -54,7 +54,7 @@ public fun m::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume_1(l0: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_13.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_13.off.exp
index 18221894dbfe0..018626a1181b1 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_13.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_13.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume_1(l0: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_13.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_13.on.exp
index f34d9bc213b0c..bf81efe305bf2 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_13.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_13.on.exp
@@ -49,7 +49,7 @@ public fun m::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume_1(l0: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_14.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_14.off.exp
index e430df67fe688..fd29e1e15d25a 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_14.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_14.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume_1(l0: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_14.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_14.on.exp
index d1c246934fce6..b2d25fe5113b6 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_14.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_14.on.exp
@@ -46,7 +46,7 @@ public fun m::test($t0: u64) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume_1(l0: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_15.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_15.off.exp
index a20e907415e4c..42e6c78811f73 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_15.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_15.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume_1(l0: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_15.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_15.on.exp
index 153c20e02648a..5465ca249d4fb 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_15.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/out_of_order_use_15.on.exp
@@ -45,7 +45,7 @@ public fun m::test($t0: u64) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume_1(l0: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/tuples_in_order_use_01.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/tuples_in_order_use_01.off.exp
index 0b1dd1a1c05f1..ba90edccd6ffc 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/tuples_in_order_use_01.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/tuples_in_order_use_01.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume(l0: u64, l1: u64, l2: u64, l3: u64, l4: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/tuples_in_order_use_01.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/tuples_in_order_use_01.on.exp
index 495794f157ecf..3afcda891e345 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/tuples_in_order_use_01.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/tuples_in_order_use_01.on.exp
@@ -58,7 +58,7 @@ public fun m::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume(l0: u64, l1: u64, l2: u64, l3: u64, l4: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/unused_flush_early_01.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/unused_flush_early_01.off.exp
index da2500d137c63..38ceb2e4ccd1d 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/unused_flush_early_01.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/unused_flush_early_01.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun one(): u64
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/unused_flush_early_01.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/unused_flush_early_01.on.exp
index d00cbecc4819c..e3680ec5b1b58 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/unused_flush_early_01.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/unused_flush_early_01.on.exp
@@ -75,7 +75,7 @@ public fun m::test3(): (u64, u64) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun one(): u64
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/unused_flush_early_02.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/unused_flush_early_02.off.exp
index 4429076dc5220..9e5d4c41958b1 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/unused_flush_early_02.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/unused_flush_early_02.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun bar()
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/unused_flush_early_02.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/unused_flush_early_02.on.exp
index 6110d57ab1da9..6f73c4d4ea2fa 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/unused_flush_early_02.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/unused_flush_early_02.on.exp
@@ -61,7 +61,7 @@ public fun m::test(): (u64, u64) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun bar()
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/unused_flush_early_03.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/unused_flush_early_03.off.exp
index 0ba25fc2942cf..b0e66106bfef7 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/unused_flush_early_03.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/unused_flush_early_03.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun bar()
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/unused_flush_early_03.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/unused_flush_early_03.on.exp
index 7a46f7d335177..119ee67140510 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/unused_flush_early_03.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/unused_flush_early_03.on.exp
@@ -98,7 +98,7 @@ public fun m::test1() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun bar()
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/write_ref_01.off.exp b/third_party/move/move-compiler-v2/tests/flush-writes/write_ref_01.off.exp
index f781c37445fda..c4ffd1cb6b6c1 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/write_ref_01.off.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/write_ref_01.off.exp
@@ -1,6 +1,6 @@
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
#[persistent] public fun test(l0: u64)
diff --git a/third_party/move/move-compiler-v2/tests/flush-writes/write_ref_01.on.exp b/third_party/move/move-compiler-v2/tests/flush-writes/write_ref_01.on.exp
index fd7fd6183976a..405cf70097f46 100644
--- a/third_party/move/move-compiler-v2/tests/flush-writes/write_ref_01.on.exp
+++ b/third_party/move/move-compiler-v2/tests/flush-writes/write_ref_01.on.exp
@@ -17,7 +17,7 @@ public fun m::test($t0: u64) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
#[persistent] public fun test(l0: u64)
diff --git a/third_party/move/move-compiler-v2/tests/inlining-optimization/caller_callee_shadowing.exp b/third_party/move/move-compiler-v2/tests/inlining-optimization/caller_callee_shadowing.exp
index 1b60998bba20b..d9fda511a7e47 100644
--- a/third_party/move/move-compiler-v2/tests/inlining-optimization/caller_callee_shadowing.exp
+++ b/third_party/move/move-compiler-v2/tests/inlining-optimization/caller_callee_shadowing.exp
@@ -49,7 +49,7 @@ module 0xc0ffee::m {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun callee(l0: u64, l1: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/inlining-optimization/fib.exp b/third_party/move/move-compiler-v2/tests/inlining-optimization/fib.exp
index 546a81ff256b1..e17b99030c31e 100644
--- a/third_party/move/move-compiler-v2/tests/inlining-optimization/fib.exp
+++ b/third_party/move/move-compiler-v2/tests/inlining-optimization/fib.exp
@@ -29,7 +29,7 @@ module 0xc0ffee::m {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun fib(l0: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/inlining-optimization/if_else_const_bool_after_inlining.exp b/third_party/move/move-compiler-v2/tests/inlining-optimization/if_else_const_bool_after_inlining.exp
index 8d3656de74cec..27446284db62e 100644
--- a/third_party/move/move-compiler-v2/tests/inlining-optimization/if_else_const_bool_after_inlining.exp
+++ b/third_party/move/move-compiler-v2/tests/inlining-optimization/if_else_const_bool_after_inlining.exp
@@ -56,7 +56,7 @@ module 0xc0ffee::m {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
#[persistent] public fun code(l0: bool): u64
diff --git a/third_party/move/move-compiler-v2/tests/inlining-optimization/mut_refs_freeze.exp b/third_party/move/move-compiler-v2/tests/inlining-optimization/mut_refs_freeze.exp
index 1a45ad4d20c4d..e332948039063 100644
--- a/third_party/move/move-compiler-v2/tests/inlining-optimization/mut_refs_freeze.exp
+++ b/third_party/move/move-compiler-v2/tests/inlining-optimization/mut_refs_freeze.exp
@@ -42,7 +42,7 @@ module 0xc0ffee::m {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun read(l0: &u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/inlining-optimization/nested_loop_labels.exp b/third_party/move/move-compiler-v2/tests/inlining-optimization/nested_loop_labels.exp
index dd6b246130507..9452171d7491d 100644
--- a/third_party/move/move-compiler-v2/tests/inlining-optimization/nested_loop_labels.exp
+++ b/third_party/move/move-compiler-v2/tests/inlining-optimization/nested_loop_labels.exp
@@ -69,7 +69,7 @@ module 0xc0ffee::m {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun inner(l0: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/inlining-optimization/test_abort.exp b/third_party/move/move-compiler-v2/tests/inlining-optimization/test_abort.exp
index 7308d79fdb82c..db7b95bb28015 100644
--- a/third_party/move/move-compiler-v2/tests/inlining-optimization/test_abort.exp
+++ b/third_party/move/move-compiler-v2/tests/inlining-optimization/test_abort.exp
@@ -135,7 +135,7 @@ module 0xc0ffee::m {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::n
// Function definition at index 0
#[persistent] public fun not_inlined(l0: &mut u64)
@@ -169,7 +169,7 @@ l0: copy_loc l0
write_ref
ret
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
use 0xc0ffee::n
// Function definition at index 0
diff --git a/third_party/move/move-compiler-v2/tests/inlining-optimization/unbounded_recursion.exp b/third_party/move/move-compiler-v2/tests/inlining-optimization/unbounded_recursion.exp
index 1af1a24b6c00b..d5b39e4d061d5 100644
--- a/third_party/move/move-compiler-v2/tests/inlining-optimization/unbounded_recursion.exp
+++ b/third_party/move/move-compiler-v2/tests/inlining-optimization/unbounded_recursion.exp
@@ -26,7 +26,7 @@ module 0xc0ffee::m {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
#[persistent] public fun infinite()
diff --git a/third_party/move/move-compiler-v2/tests/inlining-optimization/wildcard.exp b/third_party/move/move-compiler-v2/tests/inlining-optimization/wildcard.exp
index 99f8d66719bd5..391acb35bafb1 100644
--- a/third_party/move/move-compiler-v2/tests/inlining-optimization/wildcard.exp
+++ b/third_party/move/move-compiler-v2/tests/inlining-optimization/wildcard.exp
@@ -77,7 +77,7 @@ module 0x42::test {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::test
struct T has drop
x: T0
diff --git a/third_party/move/move-compiler-v2/tests/inlining-optimization/within_module_simple.exp b/third_party/move/move-compiler-v2/tests/inlining-optimization/within_module_simple.exp
index 1b69c0c8f9992..8f02bd4f91fc6 100644
--- a/third_party/move/move-compiler-v2/tests/inlining-optimization/within_module_simple.exp
+++ b/third_party/move/move-compiler-v2/tests/inlining-optimization/within_module_simple.exp
@@ -39,7 +39,7 @@ module 0xc0ffee::m {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
#[persistent] public fun compute(): u64
diff --git a/third_party/move/move-compiler-v2/tests/integers/signed/valid_arithmetic.exp b/third_party/move/move-compiler-v2/tests/integers/signed/valid_arithmetic.exp
index 441231544ff8a..df65dd807ca8e 100644
--- a/third_party/move/move-compiler-v2/tests/integers/signed/valid_arithmetic.exp
+++ b/third_party/move/move-compiler-v2/tests/integers/signed/valid_arithmetic.exp
@@ -4188,7 +4188,7 @@ fun valid_arithmetic::test_sub4($t0: 0x42::valid_arithmetic::S1, $t1: 0x42::vali
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::valid_arithmetic
enum E1 has copy + drop
V1
diff --git a/third_party/move/move-compiler-v2/tests/integers/signed/valid_constants.exp b/third_party/move/move-compiler-v2/tests/integers/signed/valid_constants.exp
index e20f02e7ad7be..a5a455ce8bd93 100644
--- a/third_party/move/move-compiler-v2/tests/integers/signed/valid_constants.exp
+++ b/third_party/move/move-compiler-v2/tests/integers/signed/valid_constants.exp
@@ -3706,7 +3706,7 @@ public fun constants::test_i8(): i8 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::constants
// Function definition at index 0
#[persistent] public fun test_i128(): i128
diff --git a/third_party/move/move-compiler-v2/tests/integers/signed/valid_control_flow.exp b/third_party/move/move-compiler-v2/tests/integers/signed/valid_control_flow.exp
index 28dd8b17ff72f..1387c336dc8e4 100644
--- a/third_party/move/move-compiler-v2/tests/integers/signed/valid_control_flow.exp
+++ b/third_party/move/move-compiler-v2/tests/integers/signed/valid_control_flow.exp
@@ -1682,7 +1682,7 @@ fun valid_control_flow::test4($t0: i128, $t1: i128): i128 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::valid_control_flow
enum E1 has copy + drop
V1
diff --git a/third_party/move/move-compiler-v2/tests/integers/signed/valid_func_val.exp b/third_party/move/move-compiler-v2/tests/integers/signed/valid_func_val.exp
index 3a01b0f6514d5..8178a915df4e6 100644
--- a/third_party/move/move-compiler-v2/tests/integers/signed/valid_func_val.exp
+++ b/third_party/move/move-compiler-v2/tests/integers/signed/valid_func_val.exp
@@ -2167,7 +2167,7 @@ fun valid_fv::__lambda__1__test2($t0: i128): i128 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::valid_fv
enum E1 has copy + drop
V1
diff --git a/third_party/move/move-compiler-v2/tests/integers/signed/valid_logic.exp b/third_party/move/move-compiler-v2/tests/integers/signed/valid_logic.exp
index c0eac99dd7b8c..b5b500aea1381 100644
--- a/third_party/move/move-compiler-v2/tests/integers/signed/valid_logic.exp
+++ b/third_party/move/move-compiler-v2/tests/integers/signed/valid_logic.exp
@@ -4558,7 +4558,7 @@ fun valid_logic::test_mix9($t0: i64, $t1: i64): bool {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::valid_logic
enum E1 has copy + drop
V1
diff --git a/third_party/move/move-compiler-v2/tests/integers/signed/valid_ref_source.exp b/third_party/move/move-compiler-v2/tests/integers/signed/valid_ref_source.exp
index cc1410ec183aa..7229e1bb1acf6 100644
--- a/third_party/move/move-compiler-v2/tests/integers/signed/valid_ref_source.exp
+++ b/third_party/move/move-compiler-v2/tests/integers/signed/valid_ref_source.exp
@@ -1149,7 +1149,7 @@ fun valid_ref_resource::test_move_to($t0: &signer, $t1: address) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::valid_ref_resource
use 0x1::signer
struct S1 has copy + drop + key
diff --git a/third_party/move/move-compiler-v2/tests/integers/signed/valid_struct.exp b/third_party/move/move-compiler-v2/tests/integers/signed/valid_struct.exp
index df29cfd0279ad..bff2e3a4ef0fc 100644
--- a/third_party/move/move-compiler-v2/tests/integers/signed/valid_struct.exp
+++ b/third_party/move/move-compiler-v2/tests/integers/signed/valid_struct.exp
@@ -1741,7 +1741,7 @@ fun valid_struct::test8(): 0x42::valid_struct::E3 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::valid_struct
enum E1 has copy + drop
V1
diff --git a/third_party/move/move-compiler-v2/tests/integers/signed/valid_vector.exp b/third_party/move/move-compiler-v2/tests/integers/signed/valid_vector.exp
index d7bbaba2aed66..401c551dda66f 100644
--- a/third_party/move/move-compiler-v2/tests/integers/signed/valid_vector.exp
+++ b/third_party/move/move-compiler-v2/tests/integers/signed/valid_vector.exp
@@ -3168,7 +3168,7 @@ fun valid_vector::test9($t0: i64, $t1: i128): vector<0x42::valid_vector::E3
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::valid_vector
enum E1 has copy + drop
V1
diff --git a/third_party/move/move-compiler-v2/tests/lambda-spec/inline-lambda-2.lambda.exp b/third_party/move/move-compiler-v2/tests/lambda-spec/inline-lambda-2.lambda.exp
index c947979392e03..76e1c78ae1925 100644
--- a/third_party/move/move-compiler-v2/tests/lambda-spec/inline-lambda-2.lambda.exp
+++ b/third_party/move/move-compiler-v2/tests/lambda-spec/inline-lambda-2.lambda.exp
@@ -1013,7 +1013,7 @@ fun m::__lambda__1_inline_1_956__test($t0: vector, $t1: u64, $t2: &0x42::m::
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m
struct T has copy + drop + store
issuer: vector
diff --git a/third_party/move/move-compiler-v2/tests/lambda-spec/inline-lambda.lambda.exp b/third_party/move/move-compiler-v2/tests/lambda-spec/inline-lambda.lambda.exp
index 612896b763ac1..b82bdf7939f6e 100644
--- a/third_party/move/move-compiler-v2/tests/lambda-spec/inline-lambda.lambda.exp
+++ b/third_party/move/move-compiler-v2/tests/lambda-spec/inline-lambda.lambda.exp
@@ -1168,7 +1168,7 @@ fun Test::__lambda__1_inline_1_393__test_apply($t0: u64, $t1: u64, $t2: u64): bo
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::Test
// Function definition at index 0
fun call_inline(l0: u64)
diff --git a/third_party/move/move-compiler-v2/tests/live-var/bug_9717_looponly.exp b/third_party/move/move-compiler-v2/tests/live-var/bug_9717_looponly.exp
index 2b4560a0a33a2..ecf3c649a21a2 100644
--- a/third_party/move/move-compiler-v2/tests/live-var/bug_9717_looponly.exp
+++ b/third_party/move/move-compiler-v2/tests/live-var/bug_9717_looponly.exp
@@ -912,7 +912,7 @@ public fun vectors::guess_flips_break2($t0: vector): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xcafe::vectors
// Function definition at index 0
#[persistent] entry public fun guess_flips_break2(l0: vector): u64
diff --git a/third_party/move/move-compiler-v2/tests/live-var/mut_inline.exp b/third_party/move/move-compiler-v2/tests/live-var/mut_inline.exp
index 04f2061ccf224..8afe48c0ffb4d 100644
--- a/third_party/move/move-compiler-v2/tests/live-var/mut_inline.exp
+++ b/third_party/move/move-compiler-v2/tests/live-var/mut_inline.exp
@@ -1647,7 +1647,7 @@ fun m::foo(): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m
// Function definition at index 0
fun foo(): u64
diff --git a/third_party/move/move-compiler-v2/tests/live-var/mut_inline_typed.exp b/third_party/move/move-compiler-v2/tests/live-var/mut_inline_typed.exp
index 04f2061ccf224..8afe48c0ffb4d 100644
--- a/third_party/move/move-compiler-v2/tests/live-var/mut_inline_typed.exp
+++ b/third_party/move/move-compiler-v2/tests/live-var/mut_inline_typed.exp
@@ -1647,7 +1647,7 @@ fun m::foo(): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m
// Function definition at index 0
fun foo(): u64
diff --git a/third_party/move/move-compiler-v2/tests/op-equal/eval_order.exp b/third_party/move/move-compiler-v2/tests/op-equal/eval_order.exp
index 5c5df43cd95d7..7333072668982 100644
--- a/third_party/move/move-compiler-v2/tests/op-equal/eval_order.exp
+++ b/third_party/move/move-compiler-v2/tests/op-equal/eval_order.exp
@@ -1056,7 +1056,7 @@ public fun m::test3(): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun mod1(l0: &mut u64)
diff --git a/third_party/move/move-compiler-v2/tests/op-equal/valid0.exp b/third_party/move/move-compiler-v2/tests/op-equal/valid0.exp
index 91846d3065336..ec4e88d2b3bd9 100644
--- a/third_party/move/move-compiler-v2/tests/op-equal/valid0.exp
+++ b/third_party/move/move-compiler-v2/tests/op-equal/valid0.exp
@@ -2553,7 +2553,7 @@ fun test::inc_wrapped_coin_old($t0: &mut 0x42::test::Wrapper<0x42::test::Coin>)
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::test
struct Coin has drop + key
_0: u256
diff --git a/third_party/move/move-compiler-v2/tests/op-equal/valid1.exp b/third_party/move/move-compiler-v2/tests/op-equal/valid1.exp
index 14cf005f34ca7..e889639dd969d 100644
--- a/third_party/move/move-compiler-v2/tests/op-equal/valid1.exp
+++ b/third_party/move/move-compiler-v2/tests/op-equal/valid1.exp
@@ -1412,7 +1412,7 @@ fun test::xor_vec_wrapped_coin_new($t0: vector<0x42::test::Wrapper<0x42::test::C
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::test
struct Coin has drop + key
_0: u256
diff --git a/third_party/move/move-compiler-v2/tests/op-equal/valid2.exp b/third_party/move/move-compiler-v2/tests/op-equal/valid2.exp
index cffbea0efe592..abc7ece037903 100644
--- a/third_party/move/move-compiler-v2/tests/op-equal/valid2.exp
+++ b/third_party/move/move-compiler-v2/tests/op-equal/valid2.exp
@@ -417,7 +417,7 @@ public fun m::test(): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct S has drop
x: u64
diff --git a/third_party/move/move-compiler-v2/tests/uninit-use-checker/assign_both_branch.exp b/third_party/move/move-compiler-v2/tests/uninit-use-checker/assign_both_branch.exp
index 03c299b894f20..877450338bfc1 100644
--- a/third_party/move/move-compiler-v2/tests/uninit-use-checker/assign_both_branch.exp
+++ b/third_party/move/move-compiler-v2/tests/uninit-use-checker/assign_both_branch.exp
@@ -74,7 +74,7 @@ fun m::test($t0: bool): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(l0: bool): u64
diff --git a/third_party/move/move-compiler-v2/tests/uninit-use-checker/no_error.exp b/third_party/move/move-compiler-v2/tests/uninit-use-checker/no_error.exp
index d64c6dd2be67f..cc24dcf42a7c8 100644
--- a/third_party/move/move-compiler-v2/tests/uninit-use-checker/no_error.exp
+++ b/third_party/move/move-compiler-v2/tests/uninit-use-checker/no_error.exp
@@ -85,7 +85,7 @@ fun m::foo($t0: u64, $t1: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0::m
// Function definition at index 0
fun foo(l0: u64, l1: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/unreachable-code-remover/abort_only.exp b/third_party/move/move-compiler-v2/tests/unreachable-code-remover/abort_only.exp
index 68c0d368778df..b699a730192f4 100644
--- a/third_party/move/move-compiler-v2/tests/unreachable-code-remover/abort_only.exp
+++ b/third_party/move/move-compiler-v2/tests/unreachable-code-remover/abort_only.exp
@@ -40,7 +40,7 @@ fun m::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test()
diff --git a/third_party/move/move-compiler-v2/tests/unreachable-code-remover/abort_or_return_always.exp b/third_party/move/move-compiler-v2/tests/unreachable-code-remover/abort_or_return_always.exp
index a11600a4fa8d8..631ccf906500d 100644
--- a/third_party/move/move-compiler-v2/tests/unreachable-code-remover/abort_or_return_always.exp
+++ b/third_party/move/move-compiler-v2/tests/unreachable-code-remover/abort_or_return_always.exp
@@ -75,7 +75,7 @@ fun m::test($t0: bool): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(l0: bool): u64
diff --git a/third_party/move/move-compiler-v2/tests/unreachable-code-remover/always_false_branch.exp b/third_party/move/move-compiler-v2/tests/unreachable-code-remover/always_false_branch.exp
index 492cf5ece5823..df2f24a604259 100644
--- a/third_party/move/move-compiler-v2/tests/unreachable-code-remover/always_false_branch.exp
+++ b/third_party/move/move-compiler-v2/tests/unreachable-code-remover/always_false_branch.exp
@@ -117,7 +117,7 @@ fun m::test(): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(): u64
diff --git a/third_party/move/move-compiler-v2/tests/unreachable-code-remover/break_unreachable.exp b/third_party/move/move-compiler-v2/tests/unreachable-code-remover/break_unreachable.exp
index 784098bf67bd5..be7fbfbf210cb 100644
--- a/third_party/move/move-compiler-v2/tests/unreachable-code-remover/break_unreachable.exp
+++ b/third_party/move/move-compiler-v2/tests/unreachable-code-remover/break_unreachable.exp
@@ -192,7 +192,7 @@ fun m::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test()
diff --git a/third_party/move/move-compiler-v2/tests/unreachable-code-remover/conditional_loop_unreachable.exp b/third_party/move/move-compiler-v2/tests/unreachable-code-remover/conditional_loop_unreachable.exp
index 59eedb3a81c26..fd39b034a88b7 100644
--- a/third_party/move/move-compiler-v2/tests/unreachable-code-remover/conditional_loop_unreachable.exp
+++ b/third_party/move/move-compiler-v2/tests/unreachable-code-remover/conditional_loop_unreachable.exp
@@ -161,7 +161,7 @@ fun m::test($t0: bool, $t1: bool) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(l0: bool, l1: bool)
diff --git a/third_party/move/move-compiler-v2/tests/unreachable-code-remover/inter_procedural_abort.exp b/third_party/move/move-compiler-v2/tests/unreachable-code-remover/inter_procedural_abort.exp
index c0ccaca79a046..1027886bcb184 100644
--- a/third_party/move/move-compiler-v2/tests/unreachable-code-remover/inter_procedural_abort.exp
+++ b/third_party/move/move-compiler-v2/tests/unreachable-code-remover/inter_procedural_abort.exp
@@ -120,7 +120,7 @@ fun m::test(): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun always_abort()
diff --git a/third_party/move/move-compiler-v2/tests/unreachable-code-remover/loop_unreachable.exp b/third_party/move/move-compiler-v2/tests/unreachable-code-remover/loop_unreachable.exp
index aeed34dfd2bdd..111ec5c5a8910 100644
--- a/third_party/move/move-compiler-v2/tests/unreachable-code-remover/loop_unreachable.exp
+++ b/third_party/move/move-compiler-v2/tests/unreachable-code-remover/loop_unreachable.exp
@@ -44,7 +44,7 @@ fun m::test(): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(): u64
diff --git a/third_party/move/move-compiler-v2/tests/unreachable-code-remover/return_after_abort.exp b/third_party/move/move-compiler-v2/tests/unreachable-code-remover/return_after_abort.exp
index d5635d8c7530f..c9b8887c58a83 100644
--- a/third_party/move/move-compiler-v2/tests/unreachable-code-remover/return_after_abort.exp
+++ b/third_party/move/move-compiler-v2/tests/unreachable-code-remover/return_after_abort.exp
@@ -46,7 +46,7 @@ fun m::test(): u32 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(): u32
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/args_with_side_effects.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/args_with_side_effects.exp
index 127c7cd467244..82db0f77b58ae 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/args_with_side_effects.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/args_with_side_effects.exp
@@ -201,7 +201,7 @@ public fun m::test($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun add(l0: u64, l1: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/args_with_side_effects.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/args_with_side_effects.opt.exp
index 127c7cd467244..82db0f77b58ae 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/args_with_side_effects.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/args_with_side_effects.opt.exp
@@ -201,7 +201,7 @@ public fun m::test($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun add(l0: u64, l1: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/borrowed_var.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/borrowed_var.exp
index fec1d75e99e5c..25da645fd3327 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/borrowed_var.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/borrowed_var.exp
@@ -154,7 +154,7 @@ fun m::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test()
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/borrowed_var.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/borrowed_var.opt.exp
index 7bc4f0bc63488..94baeb91f54d3 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/borrowed_var.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/borrowed_var.opt.exp
@@ -165,7 +165,7 @@ fun m::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test()
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/branch_1.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/branch_1.exp
index 75590565379e1..69e91e1cdb9a0 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/branch_1.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/branch_1.exp
@@ -157,7 +157,7 @@ fun m::foo($t0: bool, $t1: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun foo(l0: bool, l1: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/branch_1.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/branch_1.opt.exp
index 75590565379e1..69e91e1cdb9a0 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/branch_1.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/branch_1.opt.exp
@@ -157,7 +157,7 @@ fun m::foo($t0: bool, $t1: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun foo(l0: bool, l1: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/branch_2.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/branch_2.exp
index fabf2c85defc7..5178f3f0be86f 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/branch_2.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/branch_2.exp
@@ -118,7 +118,7 @@ fun m::test($t0: bool, $t1: u64, $t2: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(l0: bool, l1: u64, l2: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/branch_2.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/branch_2.opt.exp
index fabf2c85defc7..5178f3f0be86f 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/branch_2.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/branch_2.opt.exp
@@ -118,7 +118,7 @@ fun m::test($t0: bool, $t1: u64, $t2: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(l0: bool, l1: u64, l2: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/branch_3.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/branch_3.exp
index 7c670ace403bc..c1d69ff31f309 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/branch_3.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/branch_3.exp
@@ -117,7 +117,7 @@ fun m::test($t0: bool, $t1: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(l0: bool, l1: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/branch_3.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/branch_3.opt.exp
index 7c670ace403bc..c1d69ff31f309 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/branch_3.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/branch_3.opt.exp
@@ -117,7 +117,7 @@ fun m::test($t0: bool, $t1: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(l0: bool, l1: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/branch_assigns_then_moves_then_assigns.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/branch_assigns_then_moves_then_assigns.exp
index 7d151257f3298..4860c242a64d8 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/branch_assigns_then_moves_then_assigns.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/branch_assigns_then_moves_then_assigns.exp
@@ -267,7 +267,7 @@ fun _0::main() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
script
// Function definition at index 0
entry public fun main()
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/branch_assigns_then_moves_then_assigns.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/branch_assigns_then_moves_then_assigns.opt.exp
index 7d151257f3298..4860c242a64d8 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/branch_assigns_then_moves_then_assigns.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/branch_assigns_then_moves_then_assigns.opt.exp
@@ -267,7 +267,7 @@ fun _0::main() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
script
// Function definition at index 0
entry public fun main()
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/bug_12068.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/bug_12068.exp
index 130c4d4a36293..49e05ea1aaa4c 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/bug_12068.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/bug_12068.exp
@@ -257,7 +257,7 @@ fun m::main() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x32::m
// Function definition at index 0
fun main()
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/bug_12068.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/bug_12068.opt.exp
index 130c4d4a36293..49e05ea1aaa4c 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/bug_12068.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/bug_12068.opt.exp
@@ -257,7 +257,7 @@ fun m::main() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x32::m
// Function definition at index 0
fun main()
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/call_1.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/call_1.exp
index eb7f02694a3c4..7ce65880abad9 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/call_1.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/call_1.exp
@@ -179,7 +179,7 @@ fun m::test($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun id(l0: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/call_1.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/call_1.opt.exp
index eb7f02694a3c4..7ce65880abad9 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/call_1.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/call_1.opt.exp
@@ -179,7 +179,7 @@ fun m::test($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun id(l0: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/call_2.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/call_2.exp
index 3a5936c41de82..67cfa9861fd0d 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/call_2.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/call_2.exp
@@ -178,7 +178,7 @@ fun m::test($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun update(l0: &mut u64)
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/call_2.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/call_2.opt.exp
index 3a5936c41de82..67cfa9861fd0d 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/call_2.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/call_2.opt.exp
@@ -178,7 +178,7 @@ fun m::test($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun update(l0: &mut u64)
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/cant_coalesce_1.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/cant_coalesce_1.exp
index 164a52a25a929..d1a882247496f 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/cant_coalesce_1.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/cant_coalesce_1.exp
@@ -107,7 +107,7 @@ public fun m::test($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
#[persistent] public fun test(l0: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/cant_coalesce_1.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/cant_coalesce_1.opt.exp
index 3a814682165e4..285eb9f85fae5 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/cant_coalesce_1.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/cant_coalesce_1.opt.exp
@@ -96,7 +96,7 @@ public fun m::test($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
#[persistent] public fun test(l0: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/cant_copy_propagate.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/cant_copy_propagate.exp
index d8881c7d9a7f6..c794547ae6fef 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/cant_copy_propagate.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/cant_copy_propagate.exp
@@ -221,7 +221,7 @@ fun m::test($t0: u64, $t1: bool) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume(l0: u64)
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/cant_copy_propagate.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/cant_copy_propagate.opt.exp
index d8881c7d9a7f6..c794547ae6fef 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/cant_copy_propagate.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/cant_copy_propagate.opt.exp
@@ -221,7 +221,7 @@ fun m::test($t0: u64, $t1: bool) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun consume(l0: u64)
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/conditional.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/conditional.exp
index 30b9484c09c02..c2d4a7b9dacd7 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/conditional.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/conditional.exp
@@ -166,7 +166,7 @@ fun m::test($t0: bool): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(l0: bool): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/conditional.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/conditional.opt.exp
index f04d2aeb5f2c0..517e676e8b0a5 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/conditional.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/conditional.opt.exp
@@ -106,7 +106,7 @@ fun m::test($t0: bool): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(l0: bool): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_1.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_1.exp
index 1b591c99ddd1b..e362b2488e864 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_1.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_1.exp
@@ -350,7 +350,7 @@ public fun m::test4($t0: 0xc0ffee::m::W) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct W has copy + drop
x: u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_1.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_1.opt.exp
index 1b591c99ddd1b..e362b2488e864 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_1.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_1.opt.exp
@@ -350,7 +350,7 @@ public fun m::test4($t0: 0xc0ffee::m::W) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct W has copy + drop
x: u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_2.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_2.exp
index 899160bd419af..bfa66fee0511a 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_2.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_2.exp
@@ -212,7 +212,7 @@ public fun m::test2($t0: 0xc0ffee::m::W) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct W has copy + drop
x: u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_2.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_2.opt.exp
index 899160bd419af..bfa66fee0511a 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_2.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_2.opt.exp
@@ -212,7 +212,7 @@ public fun m::test2($t0: 0xc0ffee::m::W) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct W has copy + drop
x: u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_3.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_3.exp
index 2aff232bf2d77..f634561b546a1 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_3.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_3.exp
@@ -216,7 +216,7 @@ public fun m::test_($t0: 0xc0ffee::m::W) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct W has copy + drop
a: u32
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_3.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_3.opt.exp
index 2aff232bf2d77..f634561b546a1 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_3.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_3.opt.exp
@@ -216,7 +216,7 @@ public fun m::test_($t0: 0xc0ffee::m::W) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct W has copy + drop
a: u32
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_4.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_4.exp
index cd3c226ba08f3..d04e5b3355e5e 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_4.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_4.exp
@@ -242,7 +242,7 @@ public fun m::test_struct($t0: 0xc0ffee::m::W) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct W has copy + drop
m: u32
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_4.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_4.opt.exp
index cd3c226ba08f3..d04e5b3355e5e 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_4.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_4.opt.exp
@@ -242,7 +242,7 @@ public fun m::test_struct($t0: 0xc0ffee::m::W) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct W has copy + drop
m: u32
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_5.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_5.exp
index 1a1e4760be105..171ab29ad791c 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_5.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_5.exp
@@ -402,7 +402,7 @@ public fun m::test_struct($t0: bool, $t1: 0xc0ffee::m::W) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct W has copy + drop
x: u32
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_5.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_5.opt.exp
index 1a1e4760be105..171ab29ad791c 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_5.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/consume_5.opt.exp
@@ -402,7 +402,7 @@ public fun m::test_struct($t0: bool, $t1: 0xc0ffee::m::W) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct W has copy + drop
x: u32
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/cyclic_assignment_without_use.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/cyclic_assignment_without_use.exp
index 912de167e3747..675764c9319eb 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/cyclic_assignment_without_use.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/cyclic_assignment_without_use.exp
@@ -78,7 +78,7 @@ public fun m::test($t0: u64) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
#[persistent] public fun test(l0: u64)
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/cyclic_assignment_without_use.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/cyclic_assignment_without_use.opt.exp
index 912de167e3747..675764c9319eb 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/cyclic_assignment_without_use.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/cyclic_assignment_without_use.opt.exp
@@ -78,7 +78,7 @@ public fun m::test($t0: u64) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
#[persistent] public fun test(l0: u64)
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/cyclic_assignments.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/cyclic_assignments.exp
index c3ec6de7bf892..683bf0411855a 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/cyclic_assignments.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/cyclic_assignments.exp
@@ -92,7 +92,7 @@ fun m::cyclic($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun cyclic(l0: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/cyclic_assignments.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/cyclic_assignments.opt.exp
index c3ec6de7bf892..683bf0411855a 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/cyclic_assignments.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/cyclic_assignments.opt.exp
@@ -92,7 +92,7 @@ fun m::cyclic($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun cyclic(l0: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/cyclic_dead_store.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/cyclic_dead_store.exp
index 446ce4001b9ad..251d28a61fd37 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/cyclic_dead_store.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/cyclic_dead_store.exp
@@ -379,7 +379,7 @@ public fun m::test2($t0: u64, $t1: u64) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
#[persistent] public fun test1(l0: u64, l1: u64, l2: u64)
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/cyclic_dead_store.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/cyclic_dead_store.opt.exp
index 446ce4001b9ad..251d28a61fd37 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/cyclic_dead_store.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/cyclic_dead_store.opt.exp
@@ -379,7 +379,7 @@ public fun m::test2($t0: u64, $t1: u64) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
#[persistent] public fun test1(l0: u64, l1: u64, l2: u64)
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/dead_assignment_1.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/dead_assignment_1.exp
index ca13ea72518de..d9b8ec561bb75 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/dead_assignment_1.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/dead_assignment_1.exp
@@ -83,7 +83,7 @@ fun m::dead($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun dead(l0: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/dead_assignment_1.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/dead_assignment_1.opt.exp
index ca13ea72518de..d9b8ec561bb75 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/dead_assignment_1.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/dead_assignment_1.opt.exp
@@ -83,7 +83,7 @@ fun m::dead($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun dead(l0: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/dead_assignment_2.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/dead_assignment_2.exp
index ca26bbacfaa41..a58f2562479c6 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/dead_assignment_2.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/dead_assignment_2.exp
@@ -59,7 +59,7 @@ fun m::dead($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun dead(l0: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/dead_assignment_2.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/dead_assignment_2.opt.exp
index ca26bbacfaa41..a58f2562479c6 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/dead_assignment_2.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/dead_assignment_2.opt.exp
@@ -59,7 +59,7 @@ fun m::dead($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun dead(l0: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/dead_assignment_3.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/dead_assignment_3.exp
index 77d22c63c4b32..4845f72fefb6d 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/dead_assignment_3.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/dead_assignment_3.exp
@@ -138,7 +138,7 @@ public fun m::test($t0: bool): u32 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
#[persistent] public fun test(l0: bool): u32
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/dead_assignment_3.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/dead_assignment_3.opt.exp
index 6348de9c4ba56..d75c26c576783 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/dead_assignment_3.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/dead_assignment_3.opt.exp
@@ -127,7 +127,7 @@ public fun m::test($t0: bool): u32 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
#[persistent] public fun test(l0: bool): u32
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/dead_assignment_4.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/dead_assignment_4.exp
index 63aa0502245cc..c358aab627f7f 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/dead_assignment_4.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/dead_assignment_4.exp
@@ -289,7 +289,7 @@ public fun m::test4($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
#[persistent] public fun test1(): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/dead_assignment_4.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/dead_assignment_4.opt.exp
index 6dceb27843559..64562eccb7028 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/dead_assignment_4.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/dead_assignment_4.opt.exp
@@ -261,7 +261,7 @@ public fun m::test4($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
#[persistent] public fun test1(): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/immut_refs_1.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/immut_refs_1.exp
index f4e83e6eb281b..1e3204aecb917 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/immut_refs_1.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/immut_refs_1.exp
@@ -98,7 +98,7 @@ fun m::test($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(l0: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/immut_refs_1.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/immut_refs_1.opt.exp
index f4e83e6eb281b..1e3204aecb917 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/immut_refs_1.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/immut_refs_1.opt.exp
@@ -98,7 +98,7 @@ fun m::test($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(l0: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/immut_refs_2.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/immut_refs_2.exp
index f9dc5fa4360df..a299bf3f19778 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/immut_refs_2.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/immut_refs_2.exp
@@ -125,7 +125,7 @@ fun m::test($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(l0: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/immut_refs_2.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/immut_refs_2.opt.exp
index f9dc5fa4360df..a299bf3f19778 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/immut_refs_2.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/immut_refs_2.opt.exp
@@ -125,7 +125,7 @@ fun m::test($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(l0: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/inlining1.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/inlining1.exp
index 3df3aa2e6ae82..38f16b4f31f38 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/inlining1.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/inlining1.exp
@@ -82,7 +82,7 @@ public fun Test::test(): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::Test
// Function definition at index 0
#[persistent] public fun test(): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/inlining1.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/inlining1.opt.exp
index dd31ac5c2bb9d..8dbb1eb617212 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/inlining1.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/inlining1.opt.exp
@@ -64,7 +64,7 @@ public fun Test::test(): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::Test
// Function definition at index 0
#[persistent] public fun test(): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/inlining1_typed.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/inlining1_typed.exp
index 3df3aa2e6ae82..38f16b4f31f38 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/inlining1_typed.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/inlining1_typed.exp
@@ -82,7 +82,7 @@ public fun Test::test(): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::Test
// Function definition at index 0
#[persistent] public fun test(): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/inlining1_typed.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/inlining1_typed.opt.exp
index dd31ac5c2bb9d..8dbb1eb617212 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/inlining1_typed.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/inlining1_typed.opt.exp
@@ -64,7 +64,7 @@ public fun Test::test(): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0x42::Test
// Function definition at index 0
#[persistent] public fun test(): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/intermingled_1.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/intermingled_1.exp
index 88d2f8e9600d2..e598f21460578 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/intermingled_1.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/intermingled_1.exp
@@ -152,7 +152,7 @@ fun m::test(): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/intermingled_1.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/intermingled_1.opt.exp
index 010bfa78ee157..da405cc57777a 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/intermingled_1.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/intermingled_1.opt.exp
@@ -128,7 +128,7 @@ fun m::test(): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/intermingled_2.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/intermingled_2.exp
index 887a92f01185c..fb686f647c250 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/intermingled_2.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/intermingled_2.exp
@@ -163,7 +163,7 @@ fun m::test(): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/intermingled_2.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/intermingled_2.opt.exp
index 57c164e1792ca..b9a6fc9cd94e4 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/intermingled_2.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/intermingled_2.opt.exp
@@ -140,7 +140,7 @@ fun m::test(): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/intermingled_3.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/intermingled_3.exp
index 7af07b7a52394..046b7290da8fe 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/intermingled_3.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/intermingled_3.exp
@@ -150,7 +150,7 @@ fun m::test(): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/intermingled_3.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/intermingled_3.opt.exp
index fc7f69c6273de..34652688a18ec 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/intermingled_3.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/intermingled_3.opt.exp
@@ -128,7 +128,7 @@ fun m::test(): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/loop_1.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/loop_1.exp
index fc3368d415ebd..9d7ccc1e462da 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/loop_1.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/loop_1.exp
@@ -229,7 +229,7 @@ fun m::test($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(l0: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/loop_1.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/loop_1.opt.exp
index fc3368d415ebd..9d7ccc1e462da 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/loop_1.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/loop_1.opt.exp
@@ -229,7 +229,7 @@ fun m::test($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(l0: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/loop_2.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/loop_2.exp
index 5554de500b7eb..13a1e04fd1907 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/loop_2.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/loop_2.exp
@@ -229,7 +229,7 @@ fun m::test($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(l0: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/loop_2.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/loop_2.opt.exp
index 5554de500b7eb..13a1e04fd1907 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/loop_2.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/loop_2.opt.exp
@@ -229,7 +229,7 @@ fun m::test($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(l0: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/multi_assigns.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/multi_assigns.exp
index 64f1c8cf3615c..32175abddb9a4 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/multi_assigns.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/multi_assigns.exp
@@ -94,7 +94,7 @@ fun m::test(): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/multi_assigns.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/multi_assigns.opt.exp
index 64f1c8cf3615c..32175abddb9a4 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/multi_assigns.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/multi_assigns.opt.exp
@@ -94,7 +94,7 @@ fun m::test(): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/mut_refs_1.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/mut_refs_1.exp
index 640e31493586a..1a5100465fd4a 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/mut_refs_1.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/mut_refs_1.exp
@@ -107,7 +107,7 @@ fun m::test($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(l0: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/mut_refs_1.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/mut_refs_1.opt.exp
index 640e31493586a..1a5100465fd4a 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/mut_refs_1.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/mut_refs_1.opt.exp
@@ -107,7 +107,7 @@ fun m::test($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(l0: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/mut_refs_2.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/mut_refs_2.exp
index d1104e892eca8..0e78a2686401c 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/mut_refs_2.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/mut_refs_2.exp
@@ -163,7 +163,7 @@ fun m::test($t0: 0xc0ffee::m::S): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct S has copy + drop
a: u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/mut_refs_2.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/mut_refs_2.opt.exp
index d1104e892eca8..0e78a2686401c 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/mut_refs_2.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/mut_refs_2.opt.exp
@@ -163,7 +163,7 @@ fun m::test($t0: 0xc0ffee::m::S): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct S has copy + drop
a: u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/non_overlapping_vars1.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/non_overlapping_vars1.exp
index 7f3a6b4b0daf9..994c78c5a7db3 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/non_overlapping_vars1.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/non_overlapping_vars1.exp
@@ -173,7 +173,7 @@ fun m::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test()
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/non_overlapping_vars1.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/non_overlapping_vars1.opt.exp
index 7f3a6b4b0daf9..994c78c5a7db3 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/non_overlapping_vars1.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/non_overlapping_vars1.opt.exp
@@ -173,7 +173,7 @@ fun m::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test()
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/non_overlapping_vars_diff_type.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/non_overlapping_vars_diff_type.exp
index 482dc24ec3b3f..dde7b627633c8 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/non_overlapping_vars_diff_type.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/non_overlapping_vars_diff_type.exp
@@ -173,7 +173,7 @@ fun m::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test()
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/non_overlapping_vars_diff_type.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/non_overlapping_vars_diff_type.opt.exp
index 482dc24ec3b3f..dde7b627633c8 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/non_overlapping_vars_diff_type.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/non_overlapping_vars_diff_type.opt.exp
@@ -173,7 +173,7 @@ fun m::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test()
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/overlapping_vars.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/overlapping_vars.exp
index a6e287065cc0f..276d66d63059e 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/overlapping_vars.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/overlapping_vars.exp
@@ -128,7 +128,7 @@ fun m::test(): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/overlapping_vars.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/overlapping_vars.opt.exp
index dc7eb5a03c7cf..c10034fbfbe94 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/overlapping_vars.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/overlapping_vars.opt.exp
@@ -68,7 +68,7 @@ fun m::test(): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/reassigned_var.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/reassigned_var.exp
index cd590ea1406fb..e38348ead9648 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/reassigned_var.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/reassigned_var.exp
@@ -123,7 +123,7 @@ fun m::test(): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/reassigned_var.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/reassigned_var.opt.exp
index 36c52470b2ced..8916bdff6c963 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/reassigned_var.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/reassigned_var.opt.exp
@@ -123,7 +123,7 @@ fun m::test(): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/self_assigns.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/self_assigns.exp
index fd38a2d1f945e..16b2eb1800cdf 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/self_assigns.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/self_assigns.exp
@@ -529,7 +529,7 @@ public fun m::test4($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
#[persistent] public fun test1(l0: u64)
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/self_assigns.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/self_assigns.opt.exp
index fd38a2d1f945e..16b2eb1800cdf 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/self_assigns.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/self_assigns.opt.exp
@@ -529,7 +529,7 @@ public fun m::test4($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
#[persistent] public fun test1(l0: u64)
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/seq_kills_1.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/seq_kills_1.exp
index 2230636dae4e1..e48519dec5a68 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/seq_kills_1.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/seq_kills_1.exp
@@ -165,7 +165,7 @@ fun m::test($t0: u64): bool {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(l0: u64): bool
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/seq_kills_1.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/seq_kills_1.opt.exp
index 2230636dae4e1..e48519dec5a68 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/seq_kills_1.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/seq_kills_1.opt.exp
@@ -165,7 +165,7 @@ fun m::test($t0: u64): bool {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(l0: u64): bool
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/seq_kills_2.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/seq_kills_2.exp
index 9eceae04e667f..45d82ea85d2c2 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/seq_kills_2.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/seq_kills_2.exp
@@ -165,7 +165,7 @@ fun m::test($t0: u64): bool {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(l0: u64): bool
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/seq_kills_2.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/seq_kills_2.opt.exp
index 9eceae04e667f..45d82ea85d2c2 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/seq_kills_2.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/seq_kills_2.opt.exp
@@ -165,7 +165,7 @@ fun m::test($t0: u64): bool {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun test(l0: u64): bool
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/sequential_assign_struct.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/sequential_assign_struct.exp
index a2ec89b3c3d60..0527e30f5eb28 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/sequential_assign_struct.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/sequential_assign_struct.exp
@@ -122,7 +122,7 @@ fun m::sequential($t0: 0xc0ffee::m::Foo): 0xc0ffee::m::Foo {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct Foo has copy
a: u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/sequential_assign_struct.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/sequential_assign_struct.opt.exp
index a2ec89b3c3d60..0527e30f5eb28 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/sequential_assign_struct.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/sequential_assign_struct.opt.exp
@@ -122,7 +122,7 @@ fun m::sequential($t0: 0xc0ffee::m::Foo): 0xc0ffee::m::Foo {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
struct Foo has copy
a: u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/simple_sequential_assign.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/simple_sequential_assign.exp
index e5a0ec97d7fd8..faa81ce2f8534 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/simple_sequential_assign.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/simple_sequential_assign.exp
@@ -122,7 +122,7 @@ fun m::sequential($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun sequential(l0: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/simple_sequential_assign.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/simple_sequential_assign.opt.exp
index e5a0ec97d7fd8..faa81ce2f8534 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/simple_sequential_assign.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/simple_sequential_assign.opt.exp
@@ -122,7 +122,7 @@ fun m::sequential($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun sequential(l0: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/straight_line_kills.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/straight_line_kills.exp
index 3744eba6df31b..f71513351f48f 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/straight_line_kills.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/straight_line_kills.exp
@@ -152,7 +152,7 @@ fun m::copy_kill($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun copy_kill(l0: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/straight_line_kills.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/straight_line_kills.opt.exp
index 3744eba6df31b..f71513351f48f 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/straight_line_kills.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/straight_line_kills.opt.exp
@@ -152,7 +152,7 @@ fun m::copy_kill($t0: u64): u64 {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun copy_kill(l0: u64): u64
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/swap.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/swap.exp
index b76376d65b3c9..15768547ec332 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/swap.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/swap.exp
@@ -100,7 +100,7 @@ public fun m::test($t0: u64, $t1: u64): (u64, u64) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
#[persistent] public fun test(l0: u64, l1: u64): (u64, u64)
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/swap.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/swap.opt.exp
index b76376d65b3c9..15768547ec332 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/swap.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/swap.opt.exp
@@ -100,7 +100,7 @@ public fun m::test($t0: u64, $t1: u64): (u64, u64) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
#[persistent] public fun test(l0: u64, l1: u64): (u64, u64)
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/swap_in_a_loop.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/swap_in_a_loop.exp
index 7af2cab5f1dd6..f2cb8b0af2d04 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/swap_in_a_loop.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/swap_in_a_loop.exp
@@ -251,7 +251,7 @@ public fun m::test($t0: u64, $t1: u64): (u64, u64) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
#[persistent] public fun test(l0: u64, l1: u64): (u64, u64)
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/swap_in_a_loop.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/swap_in_a_loop.opt.exp
index 7af2cab5f1dd6..f2cb8b0af2d04 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/swap_in_a_loop.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/swap_in_a_loop.opt.exp
@@ -251,7 +251,7 @@ public fun m::test($t0: u64, $t1: u64): (u64, u64) {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
#[persistent] public fun test(l0: u64, l1: u64): (u64, u64)
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/unused_add.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/unused_add.exp
index 37a3f54078357..1502192ed7789 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/unused_add.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/unused_add.exp
@@ -107,7 +107,7 @@ public fun m::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
#[persistent] public fun test()
diff --git a/third_party/move/move-compiler-v2/tests/variable-coalescing/unused_add.opt.exp b/third_party/move/move-compiler-v2/tests/variable-coalescing/unused_add.opt.exp
index 2827c7b9f376f..3eaab5992b1c0 100644
--- a/third_party/move/move-compiler-v2/tests/variable-coalescing/unused_add.opt.exp
+++ b/third_party/move/move-compiler-v2/tests/variable-coalescing/unused_add.opt.exp
@@ -59,7 +59,7 @@ public fun m::test() {
============ disassembled file-format ==================
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
#[persistent] public fun test()
diff --git a/third_party/move/move-compiler-v2/transactional-tests/tests/inlining/bug_11223.baseline.exp b/third_party/move/move-compiler-v2/transactional-tests/tests/inlining/bug_11223.baseline.exp
index 5987f3e7d9ddc..aac006cd8baf1 100644
--- a/third_party/move/move-compiler-v2/transactional-tests/tests/inlining/bug_11223.baseline.exp
+++ b/third_party/move/move-compiler-v2/transactional-tests/tests/inlining/bug_11223.baseline.exp
@@ -2,7 +2,7 @@ processed 1 task
task 0 lines 1-14: publish --print-bytecode [module 0xcafe::vectors {]
== BEGIN Bytecode ==
-// Bytecode version v9
+// Bytecode version v10
module 0xcafe::vectors
// Function definition at index 0
#[persistent] entry public fun guess_flips_break2(l0: vector): u64
diff --git a/third_party/move/move-compiler-v2/transactional-tests/tests/inlining/bug_11223.no-optimize.exp b/third_party/move/move-compiler-v2/transactional-tests/tests/inlining/bug_11223.no-optimize.exp
index d3a7dcec07da6..d689ed025942b 100644
--- a/third_party/move/move-compiler-v2/transactional-tests/tests/inlining/bug_11223.no-optimize.exp
+++ b/third_party/move/move-compiler-v2/transactional-tests/tests/inlining/bug_11223.no-optimize.exp
@@ -2,7 +2,7 @@ processed 1 task
task 0 lines 1-14: publish --print-bytecode [module 0xcafe::vectors {]
== BEGIN Bytecode ==
-// Bytecode version v9
+// Bytecode version v10
module 0xcafe::vectors
// Function definition at index 0
#[persistent] entry public fun guess_flips_break2(l0: vector): u64
diff --git a/third_party/move/move-compiler-v2/transactional-tests/tests/inlining/bug_11223.opt-extra.exp b/third_party/move/move-compiler-v2/transactional-tests/tests/inlining/bug_11223.opt-extra.exp
index 5987f3e7d9ddc..aac006cd8baf1 100644
--- a/third_party/move/move-compiler-v2/transactional-tests/tests/inlining/bug_11223.opt-extra.exp
+++ b/third_party/move/move-compiler-v2/transactional-tests/tests/inlining/bug_11223.opt-extra.exp
@@ -2,7 +2,7 @@ processed 1 task
task 0 lines 1-14: publish --print-bytecode [module 0xcafe::vectors {]
== BEGIN Bytecode ==
-// Bytecode version v9
+// Bytecode version v10
module 0xcafe::vectors
// Function definition at index 0
#[persistent] entry public fun guess_flips_break2(l0: vector): u64
diff --git a/third_party/move/move-compiler-v2/transactional-tests/tests/inlining/bug_11223.optimize.exp b/third_party/move/move-compiler-v2/transactional-tests/tests/inlining/bug_11223.optimize.exp
index 5987f3e7d9ddc..aac006cd8baf1 100644
--- a/third_party/move/move-compiler-v2/transactional-tests/tests/inlining/bug_11223.optimize.exp
+++ b/third_party/move/move-compiler-v2/transactional-tests/tests/inlining/bug_11223.optimize.exp
@@ -2,7 +2,7 @@ processed 1 task
task 0 lines 1-14: publish --print-bytecode [module 0xcafe::vectors {]
== BEGIN Bytecode ==
-// Bytecode version v9
+// Bytecode version v10
module 0xcafe::vectors
// Function definition at index 0
#[persistent] entry public fun guess_flips_break2(l0: vector): u64
diff --git a/third_party/move/move-compiler-v2/transactional-tests/tests/inlining/round-trip/bug_11223.decompiled.baseline.exp b/third_party/move/move-compiler-v2/transactional-tests/tests/inlining/round-trip/bug_11223.decompiled.baseline.exp
index 2d42d85fc1dd6..862f3b207c3d8 100644
--- a/third_party/move/move-compiler-v2/transactional-tests/tests/inlining/round-trip/bug_11223.decompiled.baseline.exp
+++ b/third_party/move/move-compiler-v2/transactional-tests/tests/inlining/round-trip/bug_11223.decompiled.baseline.exp
@@ -2,7 +2,7 @@ processed 1 task
task 0 lines 3-8: publish --print-bytecode [module 0xcafe::vectors {]
== BEGIN Bytecode ==
-// Bytecode version v9
+// Bytecode version v10
module 0xcafe::vectors
// Function definition at index 0
#[persistent] entry public fun guess_flips_break2(l0: vector): u64
diff --git a/third_party/move/move-compiler-v2/transactional-tests/tests/misc/bug_14243_stack_size.baseline.exp b/third_party/move/move-compiler-v2/transactional-tests/tests/misc/bug_14243_stack_size.baseline.exp
index fff205fcad84f..7f1f4d12af8ee 100644
--- a/third_party/move/move-compiler-v2/transactional-tests/tests/misc/bug_14243_stack_size.baseline.exp
+++ b/third_party/move/move-compiler-v2/transactional-tests/tests/misc/bug_14243_stack_size.baseline.exp
@@ -1,6 +1,6 @@
processed 1 task
task 0 lines 2-14: print-bytecode --input=module [module 0xc0ffee::m {]
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun id_mut(l0: &mut T0): &mut T0
diff --git a/third_party/move/move-compiler-v2/transactional-tests/tests/misc/bug_14243_stack_size.no-optimize.exp b/third_party/move/move-compiler-v2/transactional-tests/tests/misc/bug_14243_stack_size.no-optimize.exp
index 7abef40b6d0a5..1887430e5c887 100644
--- a/third_party/move/move-compiler-v2/transactional-tests/tests/misc/bug_14243_stack_size.no-optimize.exp
+++ b/third_party/move/move-compiler-v2/transactional-tests/tests/misc/bug_14243_stack_size.no-optimize.exp
@@ -1,6 +1,6 @@
processed 1 task
task 0 lines 2-14: print-bytecode --input=module [module 0xc0ffee::m {]
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun id_mut(l0: &mut T0): &mut T0
diff --git a/third_party/move/move-compiler-v2/transactional-tests/tests/misc/bug_14243_stack_size.opt-extra.exp b/third_party/move/move-compiler-v2/transactional-tests/tests/misc/bug_14243_stack_size.opt-extra.exp
index b5099a6528647..ab260351bd2d5 100644
--- a/third_party/move/move-compiler-v2/transactional-tests/tests/misc/bug_14243_stack_size.opt-extra.exp
+++ b/third_party/move/move-compiler-v2/transactional-tests/tests/misc/bug_14243_stack_size.opt-extra.exp
@@ -1,6 +1,6 @@
processed 1 task
task 0 lines 2-14: print-bytecode --input=module [module 0xc0ffee::m {]
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun id_mut(l0: &mut T0): &mut T0
diff --git a/third_party/move/move-compiler-v2/transactional-tests/tests/misc/bug_14243_stack_size.optimize.exp b/third_party/move/move-compiler-v2/transactional-tests/tests/misc/bug_14243_stack_size.optimize.exp
index fff205fcad84f..7f1f4d12af8ee 100644
--- a/third_party/move/move-compiler-v2/transactional-tests/tests/misc/bug_14243_stack_size.optimize.exp
+++ b/third_party/move/move-compiler-v2/transactional-tests/tests/misc/bug_14243_stack_size.optimize.exp
@@ -1,6 +1,6 @@
processed 1 task
task 0 lines 2-14: print-bytecode --input=module [module 0xc0ffee::m {]
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun id_mut(l0: &mut T0): &mut T0
diff --git a/third_party/move/move-compiler-v2/transactional-tests/tests/misc/build_with_warnings.baseline.exp b/third_party/move/move-compiler-v2/transactional-tests/tests/misc/build_with_warnings.baseline.exp
index 469da0bb6bcfb..7cb3576804d87 100644
--- a/third_party/move/move-compiler-v2/transactional-tests/tests/misc/build_with_warnings.baseline.exp
+++ b/third_party/move/move-compiler-v2/transactional-tests/tests/misc/build_with_warnings.baseline.exp
@@ -8,7 +8,7 @@ warning: Unused value of parameter `x`. Consider removing the parameter, or pref
== BEGIN Bytecode ==
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m
// Function definition at index 0
#[persistent] public fun bar()
diff --git a/third_party/move/move-compiler-v2/transactional-tests/tests/misc/build_with_warnings.no-optimize.exp b/third_party/move/move-compiler-v2/transactional-tests/tests/misc/build_with_warnings.no-optimize.exp
index 9b8fda032cc5c..0b79e4f355ca7 100644
--- a/third_party/move/move-compiler-v2/transactional-tests/tests/misc/build_with_warnings.no-optimize.exp
+++ b/third_party/move/move-compiler-v2/transactional-tests/tests/misc/build_with_warnings.no-optimize.exp
@@ -8,7 +8,7 @@ warning: Unused value of parameter `x`. Consider removing the parameter, or pref
== BEGIN Bytecode ==
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m
// Function definition at index 0
#[persistent] public fun bar()
diff --git a/third_party/move/move-compiler-v2/transactional-tests/tests/misc/build_with_warnings.opt-extra.exp b/third_party/move/move-compiler-v2/transactional-tests/tests/misc/build_with_warnings.opt-extra.exp
index 056ceed9f40be..134cea5898241 100644
--- a/third_party/move/move-compiler-v2/transactional-tests/tests/misc/build_with_warnings.opt-extra.exp
+++ b/third_party/move/move-compiler-v2/transactional-tests/tests/misc/build_with_warnings.opt-extra.exp
@@ -8,7 +8,7 @@ warning: Unused value of parameter `x`. Consider removing the parameter, or pref
== BEGIN Bytecode ==
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m
// Function definition at index 0
#[persistent] public fun bar()
diff --git a/third_party/move/move-compiler-v2/transactional-tests/tests/misc/build_with_warnings.optimize.exp b/third_party/move/move-compiler-v2/transactional-tests/tests/misc/build_with_warnings.optimize.exp
index 469da0bb6bcfb..7cb3576804d87 100644
--- a/third_party/move/move-compiler-v2/transactional-tests/tests/misc/build_with_warnings.optimize.exp
+++ b/third_party/move/move-compiler-v2/transactional-tests/tests/misc/build_with_warnings.optimize.exp
@@ -8,7 +8,7 @@ warning: Unused value of parameter `x`. Consider removing the parameter, or pref
== BEGIN Bytecode ==
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m
// Function definition at index 0
#[persistent] public fun bar()
diff --git a/third_party/move/move-compiler-v2/transactional-tests/tests/misc/round-trip/bug_14243_stack_size.decompiled.baseline.exp b/third_party/move/move-compiler-v2/transactional-tests/tests/misc/round-trip/bug_14243_stack_size.decompiled.baseline.exp
index 9d568a6c55bc2..5f90a661de9a2 100644
--- a/third_party/move/move-compiler-v2/transactional-tests/tests/misc/round-trip/bug_14243_stack_size.decompiled.baseline.exp
+++ b/third_party/move/move-compiler-v2/transactional-tests/tests/misc/round-trip/bug_14243_stack_size.decompiled.baseline.exp
@@ -1,6 +1,6 @@
processed 1 task
task 0 lines 3-14: print-bytecode --input=module [module 0xc0ffee::m {]
-// Bytecode version v9
+// Bytecode version v10
module 0xc0ffee::m
// Function definition at index 0
fun id_mut(l0: &mut T0): &mut T0
diff --git a/third_party/move/move-compiler-v2/transactional-tests/tests/misc/round-trip/build_with_warnings.decompiled.baseline.exp b/third_party/move/move-compiler-v2/transactional-tests/tests/misc/round-trip/build_with_warnings.decompiled.baseline.exp
index 8f3ea3ea6d204..cce09e045e7bd 100644
--- a/third_party/move/move-compiler-v2/transactional-tests/tests/misc/round-trip/build_with_warnings.decompiled.baseline.exp
+++ b/third_party/move/move-compiler-v2/transactional-tests/tests/misc/round-trip/build_with_warnings.decompiled.baseline.exp
@@ -8,7 +8,7 @@ warning: Unused value of parameter `p0`. Consider removing the parameter, or pre
== BEGIN Bytecode ==
-// Bytecode version v9
+// Bytecode version v10
module 0x42::m
// Function definition at index 0
#[persistent] public fun bar()
diff --git a/third_party/move/move-compiler-v2/transactional-tests/tests/no-v1-comparison/print_bytecode.baseline.exp b/third_party/move/move-compiler-v2/transactional-tests/tests/no-v1-comparison/print_bytecode.baseline.exp
index 9903933dd3671..c5b108366c219 100644
--- a/third_party/move/move-compiler-v2/transactional-tests/tests/no-v1-comparison/print_bytecode.baseline.exp
+++ b/third_party/move/move-compiler-v2/transactional-tests/tests/no-v1-comparison/print_bytecode.baseline.exp
@@ -1,6 +1,6 @@
processed 2 tasks
task 0 lines 1-4: print-bytecode [script {]
-// Bytecode version v9
+// Bytecode version v10
script
// Function definition at index 0
entry public fun main()
@@ -8,7 +8,7 @@ entry public fun main()
task 1 lines 6-11: print-bytecode --input=module [module 0x3::N {]
-// Bytecode version v9
+// Bytecode version v10
module 0x3::N
// Function definition at index 0
#[persistent] entry public fun ex(l0: signer, l1: u64)
diff --git a/third_party/move/move-compiler-v2/transactional-tests/tests/no-v1-comparison/print_bytecode.no-optimize.exp b/third_party/move/move-compiler-v2/transactional-tests/tests/no-v1-comparison/print_bytecode.no-optimize.exp
index 991750b3bdf19..c7a6cccbf1334 100644
--- a/third_party/move/move-compiler-v2/transactional-tests/tests/no-v1-comparison/print_bytecode.no-optimize.exp
+++ b/third_party/move/move-compiler-v2/transactional-tests/tests/no-v1-comparison/print_bytecode.no-optimize.exp
@@ -1,6 +1,6 @@
processed 2 tasks
task 0 lines 1-4: print-bytecode [script {]
-// Bytecode version v9
+// Bytecode version v10
script
// Function definition at index 0
entry public fun main()
@@ -8,7 +8,7 @@ entry public fun main()
task 1 lines 6-11: print-bytecode --input=module [module 0x3::N {]
-// Bytecode version v9
+// Bytecode version v10
module 0x3::N
// Function definition at index 0
#[persistent] entry public fun ex(l0: signer, l1: u64)
diff --git a/third_party/move/move-compiler-v2/transactional-tests/tests/no-v1-comparison/print_bytecode.opt-extra.exp b/third_party/move/move-compiler-v2/transactional-tests/tests/no-v1-comparison/print_bytecode.opt-extra.exp
index 9903933dd3671..c5b108366c219 100644
--- a/third_party/move/move-compiler-v2/transactional-tests/tests/no-v1-comparison/print_bytecode.opt-extra.exp
+++ b/third_party/move/move-compiler-v2/transactional-tests/tests/no-v1-comparison/print_bytecode.opt-extra.exp
@@ -1,6 +1,6 @@
processed 2 tasks
task 0 lines 1-4: print-bytecode [script {]
-// Bytecode version v9
+// Bytecode version v10
script
// Function definition at index 0
entry public fun main()
@@ -8,7 +8,7 @@ entry public fun main()
task 1 lines 6-11: print-bytecode --input=module [module 0x3::N {]
-// Bytecode version v9
+// Bytecode version v10
module 0x3::N
// Function definition at index 0
#[persistent] entry public fun ex(l0: signer, l1: u64)
diff --git a/third_party/move/move-compiler-v2/transactional-tests/tests/no-v1-comparison/print_bytecode.optimize.exp b/third_party/move/move-compiler-v2/transactional-tests/tests/no-v1-comparison/print_bytecode.optimize.exp
index 9903933dd3671..c5b108366c219 100644
--- a/third_party/move/move-compiler-v2/transactional-tests/tests/no-v1-comparison/print_bytecode.optimize.exp
+++ b/third_party/move/move-compiler-v2/transactional-tests/tests/no-v1-comparison/print_bytecode.optimize.exp
@@ -1,6 +1,6 @@
processed 2 tasks
task 0 lines 1-4: print-bytecode [script {]
-// Bytecode version v9
+// Bytecode version v10
script
// Function definition at index 0
entry public fun main()
@@ -8,7 +8,7 @@ entry public fun main()
task 1 lines 6-11: print-bytecode --input=module [module 0x3::N {]
-// Bytecode version v9
+// Bytecode version v10
module 0x3::N
// Function definition at index 0
#[persistent] entry public fun ex(l0: signer, l1: u64)
diff --git a/third_party/move/move-compiler-v2/transactional-tests/tests/no-v1-comparison/round-trip/print_bytecode.decompiled.baseline.exp b/third_party/move/move-compiler-v2/transactional-tests/tests/no-v1-comparison/round-trip/print_bytecode.decompiled.baseline.exp
index 0ea630b4e8e73..979ac5e09da47 100644
--- a/third_party/move/move-compiler-v2/transactional-tests/tests/no-v1-comparison/round-trip/print_bytecode.decompiled.baseline.exp
+++ b/third_party/move/move-compiler-v2/transactional-tests/tests/no-v1-comparison/round-trip/print_bytecode.decompiled.baseline.exp
@@ -1,6 +1,6 @@
processed 2 tasks
task 0 lines 3-8: print-bytecode [script {]
-// Bytecode version v9
+// Bytecode version v10
script
// Function definition at index 0
entry public fun main()
@@ -8,7 +8,7 @@ entry public fun main()
task 1 lines 11-16: print-bytecode --input=module [module 0x3::N {]
-// Bytecode version v9
+// Bytecode version v10
module 0x3::N
// Function definition at index 0
#[persistent] entry public fun ex(l0: signer, l1: u64)
diff --git a/third_party/move/move-compiler-v2/transactional-tests/tests/testing-constant/compile_for_testing.testing-constant-false.exp b/third_party/move/move-compiler-v2/transactional-tests/tests/testing-constant/compile_for_testing.testing-constant-false.exp
index f06f777d61e5d..a9e54f1d2d5d2 100644
--- a/third_party/move/move-compiler-v2/transactional-tests/tests/testing-constant/compile_for_testing.testing-constant-false.exp
+++ b/third_party/move/move-compiler-v2/transactional-tests/tests/testing-constant/compile_for_testing.testing-constant-false.exp
@@ -2,7 +2,7 @@ processed 2 tasks
task 0 lines 1-6: publish --print-bytecode [module 0x66::m {]
== BEGIN Bytecode ==
-// Bytecode version v9
+// Bytecode version v10
module 0x66::m
// Function definition at index 0
fun run()
diff --git a/third_party/move/move-compiler-v2/transactional-tests/tests/testing-constant/compile_for_testing.testing-constant-true.exp b/third_party/move/move-compiler-v2/transactional-tests/tests/testing-constant/compile_for_testing.testing-constant-true.exp
index b31dde99ee85d..1789f45652378 100644
--- a/third_party/move/move-compiler-v2/transactional-tests/tests/testing-constant/compile_for_testing.testing-constant-true.exp
+++ b/third_party/move/move-compiler-v2/transactional-tests/tests/testing-constant/compile_for_testing.testing-constant-true.exp
@@ -2,7 +2,7 @@ processed 2 tasks
task 0 lines 1-6: publish --print-bytecode [module 0x66::m {]
== BEGIN Bytecode ==
-// Bytecode version v9
+// Bytecode version v10
module 0x66::m
// Function definition at index 0
fun run()
diff --git a/third_party/move/move-core/types/src/vm_status.rs b/third_party/move/move-core/types/src/vm_status.rs
index b7a2595baecc4..707e3a046b6ba 100644
--- a/third_party/move/move-core/types/src/vm_status.rs
+++ b/third_party/move/move-core/types/src/vm_status.rs
@@ -962,11 +962,13 @@ pub enum StatusCode {
UNABLE_TO_CAPTURE_DELAYED_FIELDS = 4041,
// The abort message is not a valid UTF-8 string.
INVALID_ABORT_MESSAGE = 4042,
+ // The abort message exceeded the size limit.
+ ABORT_MESSAGE_LIMIT_EXCEEDED = 4043,
// Reserved error code for future use. Always keep this buffer of well-defined new codes.
- RESERVED_RUNTIME_ERROR_1 = 4043,
- RESERVED_RUNTIME_ERROR_2 = 4044,
- RESERVED_RUNTIME_ERROR_3 = 4045,
+ RESERVED_RUNTIME_ERROR_1 = 4044,
+ RESERVED_RUNTIME_ERROR_2 = 4045,
+ RESERVED_RUNTIME_ERROR_3 = 4046,
// A reserved status to represent an unknown vm status.
// this is u64::MAX, but we can't pattern match on that, so put the hardcoded value in
diff --git a/third_party/move/move-model/bytecode/src/astifier.rs b/third_party/move/move-model/bytecode/src/astifier.rs
index 4d0fe4b1d4142..4b919baafe156 100644
--- a/third_party/move/move-model/bytecode/src/astifier.rs
+++ b/third_party/move/move-model/bytecode/src/astifier.rs
@@ -691,12 +691,17 @@ impl Generator {
);
self.add_stm(stm);
},
- Abort(_, temp) => {
+ Abort(_, temp, None) => {
let temp = self.make_temp(ctx, *temp);
let stm =
ExpData::Call(self.new_stm_node_id(ctx), Operation::Abort, vec![temp]);
self.add_stm(stm);
},
+ Abort(_, temp0, Some(temp1)) => {
+ let temps = self.make_temps(ctx, [*temp0, *temp1]);
+ let stm = ExpData::Call(self.new_stm_node_id(ctx), Operation::AbortMsg, temps);
+ self.add_stm(stm);
+ },
Branch(_, if_true, if_false, cond) => {
self.gen_branch(ctx, next_block_label, *cond, *if_true, *if_false);
},
@@ -964,6 +969,7 @@ impl Generator {
ExpData::LoopCont(..)
| ExpData::Return(..)
| ExpData::Call(_, Operation::Abort, ..)
+ | ExpData::Call(_, Operation::AbortMsg, ..)
);
if needs_break {
stms.push(ctx.builder.break_(&self.current_loc(ctx), 0))
@@ -1322,8 +1328,15 @@ impl Generator {
ExpData::LocalVar(id, name).into_exp()
}
- fn make_temps(&mut self, ctx: &Context, temps: impl Iterator- ) -> Vec {
- temps.map(|temp| self.make_temp(ctx, temp)).collect()
+ fn make_temps(
+ &mut self,
+ ctx: &Context,
+ temps: impl IntoIterator
- ,
+ ) -> Vec {
+ temps
+ .into_iter()
+ .map(|temp| self.make_temp(ctx, temp))
+ .collect()
}
fn make_temp_pat(&mut self, ctx: &Context, temp: TempIndex) -> Pattern {
@@ -1919,6 +1932,7 @@ impl IfElseTransformer<'_> {
ExpData::LoopCont(..)
| ExpData::Return(..)
| ExpData::Call(_, Operation::Abort, _)
+ | ExpData::Call(_, Operation::AbortMsg, _)
)
})
.unwrap_or(stmts.len());
@@ -2328,6 +2342,7 @@ impl AssignTransformer<'_> {
},
// [TODO] handle global resource operators after issue #17010 is fixed
Operation::Abort
+ | Operation::AbortMsg
| Operation::Closure(..)
| Operation::Vector
| Operation::Exists(..)
@@ -2899,7 +2914,10 @@ where
fn is_terminator(&self, exp: &ExpData) -> bool {
matches!(
exp,
- ExpData::LoopCont(..) | ExpData::Return(..) | ExpData::Call(_, Operation::Abort, ..)
+ ExpData::LoopCont(..)
+ | ExpData::Return(..)
+ | ExpData::Call(_, Operation::Abort, ..)
+ | ExpData::Call(_, Operation::AbortMsg, ..)
)
}
diff --git a/third_party/move/move-model/bytecode/src/debug_instrumentation.rs b/third_party/move/move-model/bytecode/src/debug_instrumentation.rs
index 91df05ce6edc0..c41c7fced8b6b 100644
--- a/third_party/move/move-model/bytecode/src/debug_instrumentation.rs
+++ b/third_party/move/move-model/bytecode/src/debug_instrumentation.rs
@@ -63,7 +63,7 @@ impl FunctionTargetProcessor for DebugInstrumenter {
}
builder.emit(bc);
},
- Abort(id, l) => {
+ Abort(id, l, _) => {
builder.set_loc_from_attr(*id);
builder.emit_with(|id| Call(id, vec![], Operation::TraceAbort, vec![*l], None));
builder.emit(bc);
diff --git a/third_party/move/move-model/bytecode/src/livevar_analysis.rs b/third_party/move/move-model/bytecode/src/livevar_analysis.rs
index 57b42a7f79f3e..ada88a42809a1 100644
--- a/third_party/move/move-model/bytecode/src/livevar_analysis.rs
+++ b/third_party/move/move-model/bytecode/src/livevar_analysis.rs
@@ -425,9 +425,15 @@ impl TransferFunctions for LiveVarAnalysis<'_> {
Ret(_, srcs) => {
state.insert(srcs);
},
- Abort(_, src) | Branch(_, _, _, src) => {
+ Branch(_, _, _, src) => {
state.insert(&[*src]);
},
+ Abort(_, src0, src1) => {
+ state.insert(&[*src0]);
+ if let Some(src1) = src1 {
+ state.insert(&[*src1]);
+ }
+ },
Prop(_, _, exp) => {
for (idx, _) in exp.used_temporaries_with_types(self.func_target.global_env()) {
state.insert(&[idx]);
diff --git a/third_party/move/move-model/bytecode/src/stackless_bytecode.rs b/third_party/move/move-model/bytecode/src/stackless_bytecode.rs
index 0da21e5d9a384..2f5b0e49514de 100644
--- a/third_party/move/move-model/bytecode/src/stackless_bytecode.rs
+++ b/third_party/move/move-model/bytecode/src/stackless_bytecode.rs
@@ -505,7 +505,7 @@ pub enum Bytecode {
Branch(AttrId, Label, Label, TempIndex),
Jump(AttrId, Label),
Label(AttrId, Label),
- Abort(AttrId, TempIndex),
+ Abort(AttrId, TempIndex, Option),
Nop(AttrId),
SpecBlock(AttrId, Spec),
@@ -566,6 +566,10 @@ impl Bytecode {
matches!(self, Bytecode::Ret(..))
}
+ pub fn is_abort(&self) -> bool {
+ matches!(self, Bytecode::Abort(..))
+ }
+
pub fn is_always_branching(&self) -> bool {
matches!(
self,
@@ -610,9 +614,12 @@ impl Bytecode {
Bytecode::Branch(_, _, _, cond) => {
vec![*cond]
},
- Bytecode::Abort(_, src) => {
+ Bytecode::Abort(_, src, None) => {
vec![*src]
},
+ Bytecode::Abort(_, src0, Some(src1)) => {
+ vec![*src0, *src1]
+ },
Bytecode::Load(_, _, _)
| Bytecode::Jump(_, _)
| Bytecode::Label(_, _)
@@ -652,7 +659,7 @@ impl Bytecode {
| Bytecode::Branch(_, _, _, _)
| Bytecode::Jump(_, _)
| Bytecode::Label(_, _)
- | Bytecode::Abort(_, _)
+ | Bytecode::Abort(_, _, _)
| Bytecode::Nop(_)
| Bytecode::SaveMem(_, _, _)
| Bytecode::SaveSpecVar(_, _, _)
@@ -801,7 +808,7 @@ impl Bytecode {
Branch(attr, if_label, else_label, cond) => {
Branch(attr, if_label, else_label, f(true, cond))
},
- Abort(attr, cond) => Abort(attr, f(true, cond)),
+ Abort(attr, cond0, cond1) => Abort(attr, f(true, cond0), cond1.map(|c| f(true, c))),
Prop(attr, kind, exp) => {
let new_exp = Bytecode::remap_exp(func_target, &mut |idx| f(true, idx), exp);
Prop(attr, kind, new_exp)
@@ -1082,8 +1089,11 @@ impl fmt::Display for BytecodeDisplay<'_> {
Label(_, label) => {
write!(f, "label L{}", label.as_usize())?;
},
- Abort(_, src) => {
- write!(f, "abort({})", self.lstr(*src))?;
+ Abort(_, src0, None) => {
+ write!(f, "abort({})", self.lstr(*src0))?;
+ },
+ Abort(_, src0, Some(src1)) => {
+ write!(f, "abort({}, {})", self.lstr(*src0), self.lstr(*src1))?;
},
Nop(_) => {
write!(f, "nop")?;
diff --git a/third_party/move/move-model/bytecode/src/stackless_bytecode_generator.rs b/third_party/move/move-model/bytecode/src/stackless_bytecode_generator.rs
index d19484cb08ce1..21c6fdf18752d 100644
--- a/third_party/move/move-model/bytecode/src/stackless_bytecode_generator.rs
+++ b/third_party/move/move-model/bytecode/src/stackless_bytecode_generator.rs
@@ -322,7 +322,18 @@ impl<'a> StacklessBytecodeGenerator<'a> {
MoveBytecode::Abort => {
let error_code_index = self.temp_stack.pop().unwrap();
- self.code.push(Bytecode::Abort(attr_id, error_code_index));
+ self.code
+ .push(Bytecode::Abort(attr_id, error_code_index, None));
+ },
+
+ MoveBytecode::AbortMsg => {
+ let error_message_index = self.temp_stack.pop().unwrap();
+ let error_code_index = self.temp_stack.pop().unwrap();
+ self.code.push(Bytecode::Abort(
+ attr_id,
+ error_code_index,
+ Some(error_message_index),
+ ));
},
MoveBytecode::StLoc(idx) => {
diff --git a/third_party/move/move-model/src/ast.rs b/third_party/move/move-model/src/ast.rs
index 91c38baedf557..044dad275bbcf 100644
--- a/third_party/move/move-model/src/ast.rs
+++ b/third_party/move/move-model/src/ast.rs
@@ -2035,6 +2035,7 @@ pub enum Operation {
MoveFrom,
Freeze(/*explicit*/ bool),
Abort,
+ AbortMsg,
Vector,
// Builtin functions (spec only)
@@ -2857,6 +2858,7 @@ impl Operation {
MoveFrom => false, // Move-related
Freeze(_) => false, // Move-related
Abort => false, // Move-related
+ AbortMsg => false, // Move-related
Vector => false, // Move-related
// Builtin functions (spec only)
diff --git a/third_party/move/move-model/src/sourcifier.rs b/third_party/move/move-model/src/sourcifier.rs
index f6d61ace6418a..e215d7f0a28a7 100644
--- a/third_party/move/move-model/src/sourcifier.rs
+++ b/third_party/move/move-model/src/sourcifier.rs
@@ -1201,6 +1201,12 @@ impl<'a> ExpSourcifier<'a> {
emit!(self.wr(), "abort ");
self.print_exp(Prio::General, false, &args[0])
}),
+ Operation::AbortMsg => self.parenthesize(context_prio, Prio::General, || {
+ emit!(self.wr(), "abort ");
+ self.print_exp(Prio::General, false, &args[0]);
+ emit!(self.wr(), " ");
+ self.print_exp(Prio::General, false, &args[1]);
+ }),
Operation::Freeze(explicit) => {
if *explicit {
self.print_exp_list("freeze(", ")", &args[0..1]);
diff --git a/third_party/move/move-prover/boogie-backend/src/bytecode_translator.rs b/third_party/move/move-prover/boogie-backend/src/bytecode_translator.rs
index 2484b62fe5d83..6b1a7248070ff 100644
--- a/third_party/move/move-prover/boogie-backend/src/bytecode_translator.rs
+++ b/third_party/move/move-prover/boogie-backend/src/bytecode_translator.rs
@@ -3254,7 +3254,7 @@ impl FunctionTranslator<'_> {
emitln!(writer, "}");
}
},
- Abort(_, src) => {
+ Abort(_, src, _) => {
let num_oper_code = global_state
.get_temp_index_oper(mid, fid, *src, baseline_flag)
.unwrap();
diff --git a/third_party/move/move-prover/boogie-backend/src/spec_translator.rs b/third_party/move/move-prover/boogie-backend/src/spec_translator.rs
index e5f629e6d207a..18216d3c551ae 100644
--- a/third_party/move/move-prover/boogie-backend/src/spec_translator.rs
+++ b/third_party/move/move-prover/boogie-backend/src/spec_translator.rs
@@ -1139,7 +1139,7 @@ impl SpecTranslator<'_> {
self.translate_call(node_id, oper, &[args[args.len() - 1].clone()]);
emit!(self.writer, &")".repeat(count));
},
- Operation::Abort => {
+ Operation::Abort | Operation::AbortMsg => {
let exp_bv_flag = global_state.get_node_num_oper(node_id) == Bitwise;
emit!(
self.writer,
diff --git a/third_party/move/move-prover/bytecode-pipeline/src/inconsistency_check.rs b/third_party/move/move-prover/bytecode-pipeline/src/inconsistency_check.rs
index 1da58828dbeb1..b7ca0d0f0f886 100644
--- a/third_party/move/move-prover/bytecode-pipeline/src/inconsistency_check.rs
+++ b/third_party/move/move-prover/bytecode-pipeline/src/inconsistency_check.rs
@@ -75,10 +75,7 @@ impl FunctionTargetProcessor for InconsistencyCheckInstrumenter {
let mut builder = FunctionDataBuilder::new(fun_env, new_data);
let old_code = std::mem::take(&mut builder.data.code);
for bc in old_code {
- if matches!(bc, Bytecode::Ret(..))
- || (matches!(bc, Bytecode::Abort(..))
- && !options.unconditional_abort_as_inconsistency)
- {
+ if bc.is_return() || (bc.is_abort() && !options.unconditional_abort_as_inconsistency) {
let loc = builder.fun_env.get_spec_loc();
builder.set_loc_and_vc_info(loc, EXPECTED_TO_FAIL);
let exp = builder.mk_bool_const(false);
diff --git a/third_party/move/move-prover/bytecode-pipeline/src/spec_instrumentation.rs b/third_party/move/move-prover/bytecode-pipeline/src/spec_instrumentation.rs
index 94b0104416859..89ba2b8dd2d59 100644
--- a/third_party/move/move-prover/bytecode-pipeline/src/spec_instrumentation.rs
+++ b/third_party/move/move-prover/bytecode-pipeline/src/spec_instrumentation.rs
@@ -436,7 +436,7 @@ impl<'a> Instrumenter<'a> {
self.builder.emit_with(|id| Jump(id, ret_label));
self.can_return = true;
},
- Abort(id, code) => {
+ Abort(id, code, _) => {
self.builder.set_loc_from_attr(id);
let abort_local = self.abort_local;
let abort_label = self.abort_label;
@@ -882,7 +882,7 @@ impl<'a> Instrumenter<'a> {
// Emit abort
let abort_local = self.abort_local;
- self.builder.emit_with(|id| Abort(id, abort_local));
+ self.builder.emit_with(|id| Abort(id, abort_local, None));
}
/// Generates verification conditions for abort block.
diff --git a/third_party/move/move-vm/runtime/src/interpreter.rs b/third_party/move/move-vm/runtime/src/interpreter.rs
index 05760e9d073c7..ad274ea652155 100644
--- a/third_party/move/move-vm/runtime/src/interpreter.rs
+++ b/third_party/move/move-vm/runtime/src/interpreter.rs
@@ -1767,6 +1767,8 @@ const OPERAND_STACK_SIZE_LIMIT: usize = 1024;
const CALL_STACK_SIZE_LIMIT: usize = 1024;
pub(crate) const ACCESS_STACK_SIZE_LIMIT: usize = 256;
+const ABORT_MESSAGE_SIZE_LIMIT: usize = 1024;
+
/// The operand and runtime-type stacks.
pub(crate) struct Stack {
pub(crate) value: Vec,
@@ -2755,11 +2757,23 @@ impl Frame {
return Err(error);
},
Instruction::AbortMsg => {
- gas_meter.charge_simple_instr(S::Abort)?;
-
let vec = interpreter.operand_stack.pop_as::()?;
let bytes = vec.to_vec_u8()?;
- // TODO(aborts): Add a test that triggers this error.
+
+ // Gas is charged per byte to account for the cost of UTF-8 validation.
+ gas_meter.charge_abort_message(&bytes)?;
+
+ if bytes.len() > ABORT_MESSAGE_SIZE_LIMIT {
+ return Err(PartialVMError::new(
+ StatusCode::ABORT_MESSAGE_LIMIT_EXCEEDED,
+ )
+ .with_message(format!(
+ "Expected at most {} bytes, got {} bytes",
+ ABORT_MESSAGE_SIZE_LIMIT,
+ bytes.len()
+ )));
+ }
+
let error_message = String::from_utf8(bytes).map_err(|err| {
PartialVMError::new(StatusCode::INVALID_ABORT_MESSAGE)
.with_message(format!("Invalid UTF-8 string: {err}"))
diff --git a/third_party/move/move-vm/test-utils/src/gas_schedule.rs b/third_party/move/move-vm/test-utils/src/gas_schedule.rs
index 8a7a0480d7dac..0dffe2852f28b 100644
--- a/third_party/move/move-vm/test-utils/src/gas_schedule.rs
+++ b/third_party/move/move-vm/test-utils/src/gas_schedule.rs
@@ -538,6 +538,10 @@ impl GasMeter for GasStatus {
fn charge_create_ty(&mut self, _num_nodes: NumTypeNodes) -> PartialVMResult<()> {
Ok(())
}
+
+ fn charge_abort_message(&mut self, _bytes: &[u8]) -> PartialVMResult<()> {
+ Ok(())
+ }
}
pub fn new_from_instructions(mut instrs: Vec<(Bytecode, GasCost)>) -> CostTable {
@@ -624,6 +628,7 @@ pub fn zero_cost_instruction_table() -> Vec<(Bytecode, GasCost)> {
(CastU64, GasCost::new(0, 0)),
(CastU128, GasCost::new(0, 0)),
(Abort, GasCost::new(0, 0)),
+ (AbortMsg, GasCost::new(0, 0)),
(MutBorrowLoc(0), GasCost::new(0, 0)),
(ImmBorrowLoc(0), GasCost::new(0, 0)),
(LdConst(ConstantPoolIndex::new(0)), GasCost::new(0, 0)),
@@ -819,6 +824,7 @@ pub fn bytecode_instruction_costs() -> Vec<(Bytecode, GasCost)> {
(CastU64, GasCost::new(1, 1)),
(CastU128, GasCost::new(1, 1)),
(Abort, GasCost::new(1, 1)),
+ (AbortMsg, GasCost::new(1, 1)),
(MutBorrowLoc(0), GasCost::new(2, 1)),
(ImmBorrowLoc(0), GasCost::new(1, 1)),
(LdConst(ConstantPoolIndex::new(0)), GasCost::new(1, 1)),
diff --git a/third_party/move/move-vm/transactional-tests/tests/tracing/simple/abort_msg.exp b/third_party/move/move-vm/transactional-tests/tests/tracing/simple/abort_msg.exp
new file mode 100644
index 0000000000000..6847326064464
--- /dev/null
+++ b/third_party/move/move-vm/transactional-tests/tests/tracing/simple/abort_msg.exp
@@ -0,0 +1,17 @@
+processed 2 tasks
+task 0 lines 1-11: publish [module 0x22::test]
+task 1 lines 13-13: run --verbose 0x22::test::abort_instr --args 404u64 --display-trace
+instructions: 3
+fingerprint: 14980932155211108901
+branch_outcomes:
+calls:
+ entrypoint 0x0000000000000000000000000000000000000000000000000000000000000022::test::abort_instr
+Error: Function execution failed with VMError: {
+ message: Hello, world!,
+ major_status: ABORTED,
+ sub_status: Some(404),
+ location: 0x22::test,
+ indices: [],
+ offsets: [(FunctionDefinitionIndex(0), 2)],
+ exec_state: Some(ExecutionState { stack_trace: [] }),
+}
diff --git a/third_party/move/move-vm/transactional-tests/tests/tracing/simple/abort_msg.masm b/third_party/move/move-vm/transactional-tests/tests/tracing/simple/abort_msg.masm
new file mode 100644
index 0000000000000..8fbc3831fb935
--- /dev/null
+++ b/third_party/move/move-vm/transactional-tests/tests/tracing/simple/abort_msg.masm
@@ -0,0 +1,13 @@
+//# publish
+module 0x22::test
+
+public fun abort_instr(a: u64)
+ move_loc a
+ ld_const> [72, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100, 33]
+ abort_msg
+ nop
+ nop
+ nop
+ ret
+
+//# run --verbose 0x22::test::abort_instr --args 404u64 --display-trace
diff --git a/third_party/move/move-vm/transactional-tests/tests/tracing/simple/abort_msg_invalid.exp b/third_party/move/move-vm/transactional-tests/tests/tracing/simple/abort_msg_invalid.exp
new file mode 100644
index 0000000000000..1c21ace2a4c2c
--- /dev/null
+++ b/third_party/move/move-vm/transactional-tests/tests/tracing/simple/abort_msg_invalid.exp
@@ -0,0 +1,17 @@
+processed 2 tasks
+task 0 lines 1-11: publish [module 0x22::test]
+task 1 lines 13-13: run --verbose 0x22::test::abort_instr --args 404u64 --display-trace
+instructions: 2
+fingerprint: 12851045092485941929
+branch_outcomes:
+calls:
+ entrypoint 0x0000000000000000000000000000000000000000000000000000000000000022::test::abort_instr
+Error: Function execution failed with VMError: {
+ message: Invalid UTF-8 string: invalid utf-8 sequence of 1 bytes from index 0,
+ major_status: INVALID_ABORT_MESSAGE,
+ sub_status: None,
+ location: 0x22::test,
+ indices: [],
+ offsets: [(FunctionDefinitionIndex(0), 2)],
+ exec_state: Some(ExecutionState { stack_trace: [] }),
+}
diff --git a/third_party/move/move-vm/transactional-tests/tests/tracing/simple/abort_msg_invalid.masm b/third_party/move/move-vm/transactional-tests/tests/tracing/simple/abort_msg_invalid.masm
new file mode 100644
index 0000000000000..9a3b9f995b027
--- /dev/null
+++ b/third_party/move/move-vm/transactional-tests/tests/tracing/simple/abort_msg_invalid.masm
@@ -0,0 +1,13 @@
+//# publish
+module 0x22::test
+
+public fun abort_instr(a: u64)
+ move_loc a
+ ld_const> [128]
+ abort_msg
+ nop
+ nop
+ nop
+ ret
+
+//# run --verbose 0x22::test::abort_instr --args 404u64 --display-trace
diff --git a/third_party/move/move-vm/transactional-tests/tests/tracing/simple/abort_msg_too_long.exp b/third_party/move/move-vm/transactional-tests/tests/tracing/simple/abort_msg_too_long.exp
new file mode 100644
index 0000000000000..3c2d0fc4fade1
--- /dev/null
+++ b/third_party/move/move-vm/transactional-tests/tests/tracing/simple/abort_msg_too_long.exp
@@ -0,0 +1,17 @@
+processed 2 tasks
+task 0 lines 1-42: publish [module 0x22::test]
+task 1 lines 44-44: run --verbose 0x22::test::abort_instr --args 404u64 --display-trace
+instructions: 12312
+fingerprint: 5756114557654762600
+branch_outcomes: 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
+calls:
+ entrypoint 0x0000000000000000000000000000000000000000000000000000000000000022::test::abort_instr
+Error: Function execution failed with VMError: {
+ message: Expected at most 1024 bytes, got 1025 bytes,
+ major_status: ABORT_MESSAGE_LIMIT_EXCEEDED,
+ sub_status: None,
+ location: 0x22::test,
+ indices: [],
+ offsets: [(FunctionDefinitionIndex(1), 2)],
+ exec_state: Some(ExecutionState { stack_trace: [] }),
+}
diff --git a/third_party/move/move-vm/transactional-tests/tests/tracing/simple/abort_msg_too_long.masm b/third_party/move/move-vm/transactional-tests/tests/tracing/simple/abort_msg_too_long.masm
new file mode 100644
index 0000000000000..afab71d8b2bbb
--- /dev/null
+++ b/third_party/move/move-vm/transactional-tests/tests/tracing/simple/abort_msg_too_long.masm
@@ -0,0 +1,44 @@
+//# publish
+module 0x22::test
+
+public fun big_vec(): vector
+ local v: vector
+ local i: u64
+
+ ld_const> []
+ st_loc v
+
+ ld_u64 0
+ st_loc i
+
+L0:
+ copy_loc i
+ ld_u64 1025
+ lt
+ br_false L1
+
+ mut_borrow_loc v
+ ld_u8 0
+ vec_push_back
+
+ move_loc i
+ ld_u64 1
+ add
+ st_loc i
+
+ branch L0
+
+L1:
+ move_loc v
+ ret
+
+public fun abort_instr(a: u64)
+ move_loc a
+ call 0x22::test::big_vec
+ abort_msg
+ nop
+ nop
+ nop
+ ret
+
+//# run --verbose 0x22::test::abort_instr --args 404u64 --display-trace
diff --git a/third_party/move/move-vm/types/src/gas.rs b/third_party/move/move-vm/types/src/gas.rs
index d7cb8e94af455..a1c9ed4ba7a80 100644
--- a/third_party/move/move-vm/types/src/gas.rs
+++ b/third_party/move/move-vm/types/src/gas.rs
@@ -387,6 +387,8 @@ pub trait GasMeter: NativeGasMeter {
) -> PartialVMResult<()>;
fn charge_create_ty(&mut self, num_nodes: NumTypeNodes) -> PartialVMResult<()>;
+
+ fn charge_abort_message(&mut self, bytes: &[u8]) -> PartialVMResult<()>;
}
/// A dummy gas meter that does not meter anything.
@@ -641,4 +643,8 @@ impl GasMeter for UnmeteredGasMeter {
fn charge_create_ty(&mut self, _num_nodes: NumTypeNodes) -> PartialVMResult<()> {
Ok(())
}
+
+ fn charge_abort_message(&mut self, _bytes: &[u8]) -> PartialVMResult<()> {
+ Ok(())
+ }
}
diff --git a/third_party/move/move-vm/types/src/instr.rs b/third_party/move/move-vm/types/src/instr.rs
index 1ebe4b587f056..031cabe11d018 100644
--- a/third_party/move/move-vm/types/src/instr.rs
+++ b/third_party/move/move-vm/types/src/instr.rs
@@ -124,9 +124,6 @@ pub enum Instruction {
CastI128,
CastI256,
Negate,
-
- // TODO(aborts): Add this instruction to the bytecode.
- // Pops an error message (vector) and an error code (u64) off the stack.
AbortMsg,
}
@@ -311,6 +308,7 @@ impl From for Instruction {
B::Le => O::Le,
B::Ge => O::Ge,
B::Abort => O::Abort,
+ B::AbortMsg => O::AbortMsg,
B::Nop => O::Nop,
B::Exists(idx) => O::Exists(idx),
B::ExistsGeneric(idx) => O::ExistsGeneric(idx),
diff --git a/third_party/move/move-vm/types/src/values/values_impl.rs b/third_party/move/move-vm/types/src/values/values_impl.rs
index 847a8f2c28e22..4a3d6a4c4d227 100644
--- a/third_party/move/move-vm/types/src/values/values_impl.rs
+++ b/third_party/move/move-vm/types/src/values/values_impl.rs
@@ -5638,6 +5638,12 @@ impl ValueView for Vector {
}
}
+impl ValueView for &[u8] {
+ fn visit(&self, visitor: &mut impl ValueVisitor) -> PartialVMResult<()> {
+ visitor.visit_vec_u8(0, self)
+ }
+}
+
impl ValueView for Reference {
fn visit(&self, visitor: &mut impl ValueVisitor) -> PartialVMResult<()> {
use ReferenceImpl::*;
diff --git a/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/print_move_bytecode.exp b/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/print_move_bytecode.exp
index 9903933dd3671..c5b108366c219 100644
--- a/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/print_move_bytecode.exp
+++ b/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/print_move_bytecode.exp
@@ -1,6 +1,6 @@
processed 2 tasks
task 0 lines 1-4: print-bytecode [script {]
-// Bytecode version v9
+// Bytecode version v10
script
// Function definition at index 0
entry public fun main()
@@ -8,7 +8,7 @@ entry public fun main()
task 1 lines 6-11: print-bytecode --input=module [module 0x3::N {]
-// Bytecode version v9
+// Bytecode version v10
module 0x3::N
// Function definition at index 0
#[persistent] entry public fun ex(l0: signer, l1: u64)
diff --git a/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/example.disassembled b/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/example.disassembled
index dd8b13b7c96f0..7fbc36b9485e9 100644
--- a/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/example.disassembled
+++ b/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/example.disassembled
@@ -3,7 +3,7 @@
//# init --addresses A=0x42
//# run
-// Bytecode version v9
+// Bytecode version v10
script
// Function definition at index 0
entry public fun main()
@@ -14,7 +14,7 @@ entry public fun main()
//# view --address 0x1 --resource 0x42::N::R
//# publish
-// Bytecode version v9
+// Bytecode version v10
module 0x42::N
use 0x1::signer
struct R has key
@@ -46,7 +46,7 @@ struct R has key
//# run --signers 0x1 --args 0 -- 0x42::N::ex
//# run --signers 0x1
-// Bytecode version v9
+// Bytecode version v10
script
use 0x42::N
// Function definition at index 0
diff --git a/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/example.disassembled.exp b/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/example.disassembled.exp
index febe66487755a..cf8466aa2da0d 100644
--- a/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/example.disassembled.exp
+++ b/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/example.disassembled.exp
@@ -1,8 +1,8 @@
processed 9 tasks
-task 1 lines 5-10: run [// Bytecode version v9]
+task 1 lines 5-10: run [// Bytecode version v10]
task 2 lines 14-14: view --address 0x1 --resource 0x42::N::R
[No Resource Exists]
-task 3 lines 16-42: publish [// Bytecode version v9]
+task 3 lines 16-42: publish [// Bytecode version v10]
task 4 lines 46-46: run --signers 0x1 --args 0 -- 0x42::N::ex
Error: Function execution failed with VMError: {
major_status: ABORTED,
@@ -11,7 +11,7 @@ Error: Function execution failed with VMError: {
indices: [],
offsets: [(FunctionDefinitionIndex(0), 1)],
}
-task 5 lines 48-56: run --signers 0x1 [// Bytecode version v9]
+task 5 lines 48-56: run --signers 0x1 [// Bytecode version v10]
task 6 lines 60-60: view --address 0x1 --resource 0x42::N::R
key 0x42::N::R {
v: 0
diff --git a/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/leading_comment.disassembled b/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/leading_comment.disassembled
index daf559eeed571..3cd5cc7187950 100644
--- a/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/leading_comment.disassembled
+++ b/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/leading_comment.disassembled
@@ -1,5 +1,5 @@
//**** Cross-compiled for `masm` syntax from `tests/vm_test_harness/leading_comment.move`
//# publish
-// Bytecode version v9
+// Bytecode version v10
module 0x42::M
diff --git a/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/leading_comment.disassembled.exp b/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/leading_comment.disassembled.exp
index 098b18de2b80f..121c50f644837 100644
--- a/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/leading_comment.disassembled.exp
+++ b/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/leading_comment.disassembled.exp
@@ -1,2 +1,2 @@
processed 1 task
-task 0 lines 3-5: publish [// Bytecode version v9]
+task 0 lines 3-5: publish [// Bytecode version v10]
diff --git a/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/named_addresses_in_commands.disassembled b/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/named_addresses_in_commands.disassembled
index 6d9eeb2573007..d365d1f25481d 100644
--- a/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/named_addresses_in_commands.disassembled
+++ b/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/named_addresses_in_commands.disassembled
@@ -3,7 +3,7 @@
//# init --addresses A=42
//# run --signers A
-// Bytecode version v9
+// Bytecode version v10
script
use 0x1::signer
// Function definition at index 0
@@ -21,7 +21,7 @@ l0: ld_u64 1000
//# publish
-// Bytecode version v9
+// Bytecode version v10
module 0x2a::M
struct Foo has key
x: u64
@@ -37,7 +37,7 @@ struct Foo has key
//# run --signers A
-// Bytecode version v9
+// Bytecode version v10
script
use 0x2a::M
// Function definition at index 0
diff --git a/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/named_addresses_in_commands.disassembled.exp b/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/named_addresses_in_commands.disassembled.exp
index cf9889bce742e..fc5ed636c3d3b 100644
--- a/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/named_addresses_in_commands.disassembled.exp
+++ b/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/named_addresses_in_commands.disassembled.exp
@@ -1,7 +1,7 @@
processed 5 tasks
-task 1 lines 5-19: run --signers A [// Bytecode version v9]
-task 2 lines 23-35: publish [// Bytecode version v9]
-task 3 lines 39-47: run --signers A [// Bytecode version v9]
+task 1 lines 5-19: run --signers A [// Bytecode version v10]
+task 2 lines 23-35: publish [// Bytecode version v10]
+task 3 lines 39-47: run --signers A [// Bytecode version v10]
task 4 lines 51-51: view --address A --resource 0x2a::M::Foo
key 0x2a::M::Foo {
x: 500
diff --git a/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/print_bytecode.decompiled.exp b/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/print_bytecode.decompiled.exp
index 846bc5fd09792..f2b664e6fa264 100644
--- a/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/print_bytecode.decompiled.exp
+++ b/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/print_bytecode.decompiled.exp
@@ -1,6 +1,6 @@
processed 2 tasks
task 0 lines 3-8: print-bytecode [script {]
-// Bytecode version v9
+// Bytecode version v10
script
// Function definition at index 0
entry public fun main()
@@ -8,7 +8,7 @@ entry public fun main()
task 1 lines 11-16: print-bytecode --input=module [module 0x42::M {]
-// Bytecode version v9
+// Bytecode version v10
module 0x42::M
// Function definition at index 0
fun f()
diff --git a/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/print_move_bytecode.decompiled.exp b/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/print_move_bytecode.decompiled.exp
index 0ea630b4e8e73..979ac5e09da47 100644
--- a/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/print_move_bytecode.decompiled.exp
+++ b/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/print_move_bytecode.decompiled.exp
@@ -1,6 +1,6 @@
processed 2 tasks
task 0 lines 3-8: print-bytecode [script {]
-// Bytecode version v9
+// Bytecode version v10
script
// Function definition at index 0
entry public fun main()
@@ -8,7 +8,7 @@ entry public fun main()
task 1 lines 11-16: print-bytecode --input=module [module 0x3::N {]
-// Bytecode version v9
+// Bytecode version v10
module 0x3::N
// Function definition at index 0
#[persistent] entry public fun ex(l0: signer, l1: u64)
diff --git a/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/print_move_bytecode.disassembled b/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/print_move_bytecode.disassembled
index c0938395c4511..74a3ee1ac2303 100644
--- a/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/print_move_bytecode.disassembled
+++ b/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/print_move_bytecode.disassembled
@@ -1,7 +1,7 @@
//**** Cross-compiled for `masm` syntax from `tests/vm_test_harness/print_move_bytecode.move`
//# print-bytecode
-// Bytecode version v9
+// Bytecode version v10
script
// Function definition at index 0
entry public fun main()
@@ -10,7 +10,7 @@ entry public fun main()
//# print-bytecode --input=module
-// Bytecode version v9
+// Bytecode version v10
module 0x3::N
// Function definition at index 0
#[persistent] entry public fun ex(l0: signer, l1: u64)
diff --git a/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/print_move_bytecode.disassembled.exp b/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/print_move_bytecode.disassembled.exp
index 8fb522a7923aa..ada33f0002b2c 100644
--- a/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/print_move_bytecode.disassembled.exp
+++ b/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/print_move_bytecode.disassembled.exp
@@ -1,5 +1,5 @@
processed 2 tasks
-task 0 lines 3-8: print-bytecode [// Bytecode version v9]
+task 0 lines 3-8: print-bytecode [// Bytecode version v10]
// Bytecode version v9
script
// Function definition at index 0
@@ -7,7 +7,7 @@ entry public fun main()
ret
-task 1 lines 12-18: print-bytecode --input=module [// Bytecode version v9]
+task 1 lines 12-18: print-bytecode --input=module [// Bytecode version v10]
// Bytecode version v9
module 0x3::N
// Function definition at index 0
diff --git a/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/simple_init.disassembled b/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/simple_init.disassembled
index 268631dc8e25c..d883ea1a1c2cf 100644
--- a/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/simple_init.disassembled
+++ b/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/simple_init.disassembled
@@ -3,10 +3,10 @@
//# init --addresses A=0x42 K=0x19
//# publish
-// Bytecode version v9
+// Bytecode version v10
module 0x42::M
//# publish
-// Bytecode version v9
+// Bytecode version v10
module 0x19::S
diff --git a/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/simple_init.disassembled.exp b/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/simple_init.disassembled.exp
index 15d11646c41e1..4e14174a1e83d 100644
--- a/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/simple_init.disassembled.exp
+++ b/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/simple_init.disassembled.exp
@@ -1,3 +1,3 @@
processed 3 tasks
-task 1 lines 5-7: publish [// Bytecode version v9]
-task 2 lines 10-12: publish [// Bytecode version v9]
+task 1 lines 5-7: publish [// Bytecode version v10]
+task 2 lines 10-12: publish [// Bytecode version v10]
diff --git a/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/single_publish.disassembled b/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/single_publish.disassembled
index 53aebcdd73a2f..dbe135eb70a50 100644
--- a/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/single_publish.disassembled
+++ b/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/single_publish.disassembled
@@ -1,5 +1,5 @@
//**** Cross-compiled for `masm` syntax from `tests/vm_test_harness/single_publish.move`
//# publish
-// Bytecode version v9
+// Bytecode version v10
module 0x42::N
diff --git a/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/single_publish.disassembled.exp b/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/single_publish.disassembled.exp
index 098b18de2b80f..121c50f644837 100644
--- a/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/single_publish.disassembled.exp
+++ b/third_party/move/testing-infra/transactional-test-runner/tests/vm_test_harness/round-trip/single_publish.disassembled.exp
@@ -1,2 +1,2 @@
processed 1 task
-task 0 lines 3-5: publish [// Bytecode version v9]
+task 0 lines 3-5: publish [// Bytecode version v10]
diff --git a/third_party/move/tools/move-asm/src/assembler.rs b/third_party/move/tools/move-asm/src/assembler.rs
index 40ea3de31d310..43dcbd8df34dc 100644
--- a/third_party/move/tools/move-asm/src/assembler.rs
+++ b/third_party/move/tools/move-asm/src/assembler.rs
@@ -849,6 +849,10 @@ impl<'a> Assembler<'a> {
self.args0(instr)?;
Abort
},
+ "abort_msg" => {
+ self.args0(instr)?;
+ AbortMsg
+ },
"nop" => {
self.args0(instr)?;
Nop
diff --git a/third_party/move/tools/move-asm/src/disassembler.rs b/third_party/move/tools/move-asm/src/disassembler.rs
index ae2b5d3f003ba..0b02063673107 100644
--- a/third_party/move/tools/move-asm/src/disassembler.rs
+++ b/third_party/move/tools/move-asm/src/disassembler.rs
@@ -619,6 +619,7 @@ impl Disassembler {
Le => write!(self.out, "le")?,
Ge => write!(self.out, "ge")?,
Abort => write!(self.out, "abort")?,
+ AbortMsg => write!(self.out, "abort_msg")?,
Nop => write!(self.out, "nop")?,
Shl => write!(self.out, "shl")?,
Shr => write!(self.out, "shr")?,
diff --git a/third_party/move/tools/move-cli/tests/build_tests/build_with_warnings/args.exp b/third_party/move/tools/move-cli/tests/build_tests/build_with_warnings/args.exp
index d91fe1c110263..d6abc0a9d0b9e 100644
--- a/third_party/move/tools/move-cli/tests/build_tests/build_with_warnings/args.exp
+++ b/third_party/move/tools/move-cli/tests/build_tests/build_with_warnings/args.exp
@@ -7,7 +7,7 @@ warning: Unused value of parameter `x`. Consider removing the parameter, or pref
│ ^
Command `disassemble --package Test --name m`:
-// Move bytecode v9
+// Move bytecode v10
module 42.m {
diff --git a/third_party/move/tools/move-cli/tests/build_tests/disassemble_script/args.exp b/third_party/move/tools/move-cli/tests/build_tests/disassemble_script/args.exp
index 830d3a7112da9..883d3f2d30356 100644
--- a/third_party/move/tools/move-cli/tests/build_tests/disassemble_script/args.exp
+++ b/third_party/move/tools/move-cli/tests/build_tests/disassemble_script/args.exp
@@ -1,5 +1,5 @@
Command `disassemble --name main`:
-// Move bytecode v9
+// Move bytecode v10
script {
diff --git a/types/src/on_chain_config/aptos_features.rs b/types/src/on_chain_config/aptos_features.rs
index 5b9a379f66f5f..e13742f3e363f 100644
--- a/types/src/on_chain_config/aptos_features.rs
+++ b/types/src/on_chain_config/aptos_features.rs
@@ -161,6 +161,8 @@ pub enum FeatureFlag {
SESSION_CONTINUATION = 104,
/// Enables function value reflection in the stdlib
ENABLE_FUNCTION_REFLECTION = 105,
+ /// Enables bytecode version v10
+ VM_BINARY_FORMAT_V10 = 106,
}
impl FeatureFlag {
@@ -267,6 +269,7 @@ impl FeatureFlag {
FeatureFlag::VM_BINARY_FORMAT_V9,
FeatureFlag::ENABLE_FRAMEWORK_FOR_OPTION,
FeatureFlag::ENABLE_FUNCTION_REFLECTION,
+ FeatureFlag::VM_BINARY_FORMAT_V10,
]
}
}
@@ -477,7 +480,9 @@ impl Features {
}
pub fn get_max_binary_format_version(&self) -> u32 {
- if self.is_enabled(FeatureFlag::VM_BINARY_FORMAT_V9) {
+ if self.is_enabled(FeatureFlag::VM_BINARY_FORMAT_V10) {
+ file_format_common::VERSION_10
+ } else if self.is_enabled(FeatureFlag::VM_BINARY_FORMAT_V9) {
file_format_common::VERSION_9
} else if self.is_enabled(FeatureFlag::VM_BINARY_FORMAT_V8) {
file_format_common::VERSION_8
@@ -535,7 +540,7 @@ mod test {
file_format_common::VERSION_MIN
);
assert_eq!(
- file_format_common::VERSION_9,
+ file_format_common::VERSION_10,
file_format_common::VERSION_MAX
);
}
diff --git a/types/src/transaction/mod.rs b/types/src/transaction/mod.rs
index e2394a36e4e89..72101da24a728 100644
--- a/types/src/transaction/mod.rs
+++ b/types/src/transaction/mod.rs
@@ -1600,7 +1600,7 @@ impl TransactionStatus {
match vm_status.keep_or_discard(
features.is_enabled(FeatureFlag::ENABLE_FUNCTION_VALUES),
memory_limit_exceeded_as_miscellaneous_error,
- false,
+ features.is_enabled(FeatureFlag::VM_BINARY_FORMAT_V10),
) {
Ok(recorded) => match recorded {
// TODO(bowu):status code should be removed from transaction status