diff --git a/sway-core/src/asm_generation/fuel/optimizations/constant_propagate.rs b/sway-core/src/asm_generation/fuel/optimizations/constant_propagate.rs index 41ddfe8191f..e8a332bb96e 100644 --- a/sway-core/src/asm_generation/fuel/optimizations/constant_propagate.rs +++ b/sway-core/src/asm_generation/fuel/optimizations/constant_propagate.rs @@ -461,10 +461,122 @@ impl AbstractInstructionSet { None => { match &op.opcode { Either::Left(op) => match op { - VirtualOp::ECAL(_, _, _, _) => ResetKnown::All, - // TODO: this constraint can be relaxed - _ if op.has_side_effect() => ResetKnown::All, - _ => ResetKnown::Defs, + // Control / opaque: wipe all known values. + VirtualOp::CALL(..) + | VirtualOp::ECAL(..) + | VirtualOp::RET(..) + | VirtualOp::RETD(..) + | VirtualOp::RVRT(..) + | VirtualOp::BLOB(..) + | VirtualOp::DataSectionOffsetPlaceholder + | VirtualOp::ConfigurablesOffsetPlaceholder + | VirtualOp::Undefined => ResetKnown::All, + + // Memory / stack. + VirtualOp::ALOC(..) + | VirtualOp::CFE(..) + | VirtualOp::CFEI(..) + | VirtualOp::CFS(..) + | VirtualOp::CFSI(..) + | VirtualOp::MCL(..) + | VirtualOp::MCLI(..) + | VirtualOp::MCP(..) + | VirtualOp::MCPI(..) + | VirtualOp::MEQ(..) + | VirtualOp::SB(..) + | VirtualOp::SW(..) + // Wide (256-bit) arithmetic. + | VirtualOp::WQOP(..) + | VirtualOp::WQML(..) + | VirtualOp::WQDV(..) + | VirtualOp::WQMD(..) + | VirtualOp::WQCM(..) + | VirtualOp::WQAM(..) + | VirtualOp::WQMM(..) + // Contract / crypto / code. + | VirtualOp::BHSH(..) + | VirtualOp::CCP(..) + | VirtualOp::CROO(..) + | VirtualOp::CB(..) + | VirtualOp::BLDD(..) + | VirtualOp::LDC(..) + | VirtualOp::K256(..) + | VirtualOp::S256(..) + | VirtualOp::ECK1(..) + | VirtualOp::ECR1(..) + | VirtualOp::ED19(..) + | VirtualOp::ECOP(..) + // Logging / coins / messages. + | VirtualOp::LOG(..) + | VirtualOp::LOGD(..) + | VirtualOp::BURN(..) + | VirtualOp::MINT(..) + | VirtualOp::SMO(..) + | VirtualOp::TR(..) + | VirtualOp::TRO(..) + // Contract storage. + | VirtualOp::SCLR(..) + | VirtualOp::SCWQ(..) + | VirtualOp::SRWQ(..) + | VirtualOp::SRDD(..) + | VirtualOp::SRDI(..) + | VirtualOp::SWW(..) + | VirtualOp::SWWQ(..) + | VirtualOp::SWRD(..) + | VirtualOp::SWRI(..) + | VirtualOp::SUPD(..) + | VirtualOp::SUPI(..) + | VirtualOp::SPLD(..) + // Flags. + | VirtualOp::FLAG(..) + // ALU. + | VirtualOp::ADD(..) + | VirtualOp::ADDI(..) + | VirtualOp::AND(..) + | VirtualOp::ANDI(..) + | VirtualOp::DIV(..) + | VirtualOp::DIVI(..) + | VirtualOp::EQ(..) + | VirtualOp::EXP(..) + | VirtualOp::EXPI(..) + | VirtualOp::GT(..) + | VirtualOp::LT(..) + | VirtualOp::MLOG(..) + | VirtualOp::MOD(..) + | VirtualOp::MODI(..) + | VirtualOp::MOVE(..) + | VirtualOp::MOVI(..) + | VirtualOp::MROO(..) + | VirtualOp::MUL(..) + | VirtualOp::MULI(..) + | VirtualOp::NOOP + | VirtualOp::NOT(..) + | VirtualOp::OR(..) + | VirtualOp::ORI(..) + | VirtualOp::SLL(..) + | VirtualOp::SLLI(..) + | VirtualOp::SRL(..) + | VirtualOp::SRLI(..) + | VirtualOp::SUB(..) + | VirtualOp::SUBI(..) + | VirtualOp::XOR(..) + | VirtualOp::XORI(..) + // Loads / memory reads. + | VirtualOp::LB(..) + | VirtualOp::LW(..) + // Chain / context reads. + | VirtualOp::BAL(..) + | VirtualOp::BHEI(..) + | VirtualOp::CSIZ(..) + | VirtualOp::BSIZ(..) + | VirtualOp::SRW(..) + | VirtualOp::TIME(..) + | VirtualOp::EPAR(..) + | VirtualOp::GM(..) + | VirtualOp::GTF(..) + // Virtual immediates. + | VirtualOp::LoadDataId(..) + | VirtualOp::AddrDataId(..) => ResetKnown::Defs, }, Either::Right(op) => match op { ControlFlowOp::Label(label) => { @@ -588,6 +700,8 @@ pub fn checked_nth_root(target: u64, nth_root: u64) -> Option { #[cfg(test)] pub mod tests { + use crate::asm_lang::{VirtualImmediate06, VirtualImmediate12, VirtualImmediate24}; + use super::*; use expect_test::expect; @@ -988,4 +1102,309 @@ pub mod tests { "#]] .assert_eq(&str); } + + fn imm12(v: u64) -> VirtualImmediate12 { + VirtualImmediate12::new(v) + } + + fn imm06(v: u64) -> VirtualImmediate06 { + VirtualImmediate06::new(v) + } + + fn imm24(v: u64) -> VirtualImmediate24 { + VirtualImmediate24::new(v) + } + + #[test] + fn propagate_arg0_through_memory_ops_and_add() { + let mut str = String::new(); + let hp = ConstantRegister::HeapPointer; + let sp = ConstantRegister::StackPointer; + optimise( + [ + VirtualOp::r#move("0", ConstantRegister::FuncArg0).into(), + // Local memory + VirtualOp::MCL("0".into(), "2".into()).into(), + VirtualOp::MCLI("0".into(), 32.into()).into(), + VirtualOp::MCP("1".into(), "0".into(), "2".into()).into(), + VirtualOp::MCPI("1".into(), "0".into(), imm12(32)).into(), + VirtualOp::MEQ("3".into(), "0".into(), "1".into(), "2".into()).into(), + VirtualOp::SB("1".into(), "0".into(), imm12(32)).into(), + VirtualOp::SW("1".into(), "0".into(), imm12(32)).into(), + // Wide + VirtualOp::WQOP("1".into(), "0".into(), "2".into(), imm06(0)).into(), + VirtualOp::WQML("1".into(), "0".into(), "2".into(), imm06(0)).into(), + VirtualOp::WQDV("1".into(), "0".into(), "2".into(), imm06(0)).into(), + VirtualOp::WQMD("1".into(), "0".into(), "2".into(), "4".into()).into(), + VirtualOp::WQCM("3".into(), "0".into(), "2".into(), imm06(0)).into(), + VirtualOp::WQAM("1".into(), "0".into(), "2".into(), "4".into()).into(), + VirtualOp::WQMM("1".into(), "0".into(), "2".into(), "4".into()).into(), + // Stack / heap pointers + VirtualOp::ALOC(hp.into(), "0".into()).into(), + VirtualOp::CFEI(sp.into(), imm24(8)).into(), + VirtualOp::CFSI(sp.into(), imm24(8)).into(), + VirtualOp::CFE(sp.into(), "0".into()).into(), + VirtualOp::CFS(sp.into(), "0".into()).into(), + // Contract / blob memory fills + VirtualOp::BHSH("0".into(), "2".into()).into(), + VirtualOp::CCP("1".into(), "0".into(), "2".into(), "4".into()).into(), + VirtualOp::CROO("0".into(), "2".into()).into(), + VirtualOp::CB("0".into()).into(), + VirtualOp::BLDD("0".into(), "2".into(), "4".into(), "5".into()).into(), + VirtualOp::LDC("0".into(), "2".into(), "4".into(), imm06(0)).into(), + // Crypto digests + VirtualOp::K256("0".into(), "2".into(), "4".into()).into(), + VirtualOp::S256("0".into(), "2".into(), "4".into()).into(), + VirtualOp::ECK1("0".into(), "2".into(), "4".into()).into(), + VirtualOp::ECR1("0".into(), "2".into(), "4".into()).into(), + VirtualOp::ED19("0".into(), "2".into(), "4".into(), "5".into()).into(), + VirtualOp::ECOP("0".into(), "2".into(), "4".into(), "5".into()).into(), + // Logs / coins / messages + VirtualOp::LOG("0".into(), "2".into(), "4".into(), "5".into()).into(), + VirtualOp::LOGD("0".into(), "2".into(), "4".into(), "5".into()).into(), + VirtualOp::BURN("0".into(), "2".into()).into(), + VirtualOp::MINT("0".into(), "2".into()).into(), + VirtualOp::SMO("0".into(), "2".into(), "4".into(), "5".into()).into(), + VirtualOp::TR("0".into(), "2".into(), "4".into()).into(), + VirtualOp::TRO("0".into(), "2".into(), "4".into(), "5".into()).into(), + // State + VirtualOp::SCLR("0".into(), "2".into()).into(), + VirtualOp::SCWQ("0".into(), "3".into(), "2".into()).into(), + VirtualOp::SRWQ("0".into(), "3".into(), "2".into(), "4".into()).into(), + VirtualOp::SRDD("0".into(), "2".into(), "4".into(), "5".into()).into(), + VirtualOp::SRDI("0".into(), "2".into(), "4".into(), imm06(0)).into(), + VirtualOp::SWW("0".into(), "3".into(), "2".into()).into(), + VirtualOp::SWWQ("0".into(), "3".into(), "2".into(), "4".into()).into(), + VirtualOp::SWRD("0".into(), "2".into(), "4".into()).into(), + VirtualOp::SWRI("0".into(), "2".into(), imm12(0)).into(), + VirtualOp::SUPD("0".into(), "2".into(), "4".into(), "5".into()).into(), + VirtualOp::SUPI("0".into(), "2".into(), "4".into(), imm06(0)).into(), + VirtualOp::SPLD("3".into(), "0".into()).into(), + VirtualOp::FLAG("0".into()).into(), + // Still-known alias after all of the above + VirtualOp::add(ConstantRegister::FuncArg1, "0", ConstantRegister::Zero).into(), + ], + |ops| ops.constant_propagate(|s| str.push_str(s)), + ); + expect![[r#" + move $r0 $$arg0 ; 0 + Nothing + mcl $$arg0 $r2 ; 1 + Defs + mcli $$arg0 i32 ; 2 + Defs + mcp $r1 $$arg0 $r2 ; 3 + Defs + mcpi $r1 $$arg0 i32 ; 4 + Defs + meq $r3 $$arg0 $r1 $r2 ; 5 + Defs + sb $r1 $$arg0 i32 ; 6 + Defs + sw $r1 $$arg0 i32 ; 7 + Defs + wqop $r1 $$arg0 $r2 i0 ; 8 + Defs + wqml $r1 $$arg0 $r2 i0 ; 9 + Defs + wqdv $r1 $$arg0 $r2 i0 ; 10 + Defs + wqmd $r1 $$arg0 $r2 $r4 ; 11 + Defs + wqcm $r3 $$arg0 $r2 i0 ; 12 + Defs + wqam $r1 $$arg0 $r2 $r4 ; 13 + Defs + wqmm $r1 $$arg0 $r2 $r4 ; 14 + Defs + aloc $$arg0 ; 15 + Defs + cfei i8 ; 16 + Defs + cfsi i8 ; 17 + Defs + cfe $$arg0 ; 18 + Defs + cfs $$arg0 ; 19 + Defs + bhsh $$arg0 $r2 ; 20 + Defs + ccp $r1 $$arg0 $r2 $r4 ; 21 + Defs + croo $$arg0 $r2 ; 22 + Defs + cb $$arg0 ; 23 + Defs + bldd $$arg0 $r2 $r4 $r5 ; 24 + Defs + ldc $$arg0 $r2 $r4 i0 ; 25 + Defs + k256 $$arg0 $r2 $r4 ; 26 + Defs + s256 $$arg0 $r2 $r4 ; 27 + Defs + eck1 $$arg0 $r2 $r4 ; 28 + Defs + ecr1 $$arg0 $r2 $r4 ; 29 + Defs + ed19 $$arg0 $r2 $r4 $r5 ; 30 + Defs + ecop $$arg0 $r2 $r4 $r5 ; 31 + Defs + log $$arg0 $r2 $r4 $r5 ; 32 + Defs + logd $$arg0 $r2 $r4 $r5 ; 33 + Defs + burn $$arg0 $r2 ; 34 + Defs + mint $$arg0 $r2 ; 35 + Defs + smo $$arg0 $r2 $r4 $r5 ; 36 + Defs + tr $$arg0 $r2 $r4 ; 37 + Defs + tro $$arg0 $r2 $r4 $r5 ; 38 + Defs + sclr $$arg0 $r2 ; 39 + Defs + scwq $$arg0 $r3 $r2 ; 40 + Defs + srwq $$arg0 $r3 $r2 $r4 ; 41 + Defs + srdd $$arg0 $r2 $r4 $r5 ; 42 + Defs + srdi $$arg0 $r2 $r4 i0 ; 43 + Defs + sww $$arg0 $r3 $r2 ; 44 + Defs + swwq $$arg0 $r3 $r2 $r4 ; 45 + Defs + swrd $$arg0 $r2 $r4 ; 46 + Defs + swri $$arg0 $r2 i0 ; 47 + Defs + supd $$arg0 $r2 $r4 $r5 ; 48 + Defs + supi $$arg0 $r2 $r4 i0 ; 49 + Defs + spld $r3 $$arg0 ; 50 + Defs + flag $$arg0 ; 51 + Defs + add $$arg1 $$arg0 $zero ; 52 + None Some(Const(0)) + changed to: move $$arg1 $$arg0 ; 52 + Nothing + "#]] + .assert_eq(&str); + } + + #[test] + fn arg0_clobbered_before_use() { + let mut str = String::new(); + optimise( + [ + VirtualOp::r#move("0", ConstantRegister::FuncArg0).into(), + // Clobber $$arg0 + VirtualOp::r#move(ConstantRegister::FuncArg0, "5").into(), + VirtualOp::add(ConstantRegister::FuncArg1, "0", ConstantRegister::Zero).into(), + ], + |ops| ops.constant_propagate(|s| str.push_str(s)), + ); + expect![[r#" + move $r0 $$arg0 ; 0 + Nothing + move $$arg0 $r5 ; 1 + Nothing + add $$arg1 $r0 $zero ; 2 + None Some(Const(0)) + changed to: move $$arg1 $r0 ; 2 + Nothing + "#]] + .assert_eq(&str); + } + + #[test] + fn call_throws_all_known_values_away() { + let mut str = String::new(); + optimise( + [ + VirtualOp::r#move("0", ConstantRegister::FuncArg0).into(), + Op::call(Label(0)), + VirtualOp::add(ConstantRegister::FuncArg1, "0", ConstantRegister::Zero).into(), + ], + |ops| ops.constant_propagate(|s| str.push_str(s)), + ); + expect![[r#" + move $r0 $$arg0 ; 0 + Nothing + fncall .0 ; 1 + All + add $$arg1 $r0 $zero ; 2 + None Some(Const(0)) + changed to: move $$arg1 $r0 ; 2 + Nothing + "#]] + .assert_eq(&str); + } + + #[test] + fn contract_call_and_ret_clear_all() { + let mut str = String::new(); + optimise( + [ + VirtualOp::r#move("0", ConstantRegister::FuncArg0).into(), + VirtualOp::CALL("1".into(), "2".into(), "3".into(), "4".into()).into(), + VirtualOp::add(ConstantRegister::FuncArg1, "0", ConstantRegister::Zero).into(), + VirtualOp::r#move("5", ConstantRegister::FuncArg0).into(), + VirtualOp::RET("5".into()).into(), + VirtualOp::add(ConstantRegister::FuncArg2, "5", ConstantRegister::Zero).into(), + ], + |ops| ops.constant_propagate(|s| str.push_str(s)), + ); + expect![[r#" + move $r0 $$arg0 ; 0 + Nothing + call $r1 $r2 $r3 $r4 ; 1 + All + add $$arg1 $r0 $zero ; 2 + None Some(Const(0)) + changed to: move $$arg1 $r0 ; 2 + Nothing + move $r5 $$arg0 ; 3 + Nothing + ret $$arg0 ; 4 + All + add $$arg2 $r5 $zero ; 5 + None Some(Const(0)) + changed to: move $$arg2 $r5 ; 5 + Nothing + "#]] + .assert_eq(&str); + } + + #[test] + fn r0_clobbered_before_use() { + let mut str = String::new(); + optimise( + [ + VirtualOp::r#move("0", ConstantRegister::FuncArg0).into(), + // Clobber $r0 + VirtualOp::movi("0", 1).into(), + VirtualOp::add(ConstantRegister::FuncArg1, "0", ConstantRegister::Zero).into(), + ], + |ops| ops.constant_propagate(|s| str.push_str(s)), + ); + expect![[r#" + move $r0 $$arg0 ; 0 + Nothing + movi $r0 i1 ; 1 + Nothing + add $$arg1 $one $zero ; 2 + Some(Const(1)) Some(Const(0)) + changed to: movi $$arg1 i1 ; 2 + Nothing + "#]] + .assert_eq(&str); + } } diff --git a/sway-core/src/asm_lang/mod.rs b/sway-core/src/asm_lang/mod.rs index 0bbd6f03553..b5050ab3862 100644 --- a/sway-core/src/asm_lang/mod.rs +++ b/sway-core/src/asm_lang/mod.rs @@ -252,6 +252,17 @@ impl Op { } } + pub(crate) fn call(label: Label) -> Self { + Op { + opcode: Either::Right(OrganizationalOp::Jump { + to: label, + type_: JumpType::Call, + }), + comment: String::new(), + owning_span: None, + } + } + pub(crate) fn jump_to_label_comment(label: Label, comment: impl Into) -> Self { Op { opcode: Either::Right(OrganizationalOp::Jump { diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/array/array_repeat/stdout.snap b/test/src/e2e_vm_tests/test_programs/should_pass/language/array/array_repeat/stdout.snap index 1358c68b6e7..d05981b6bf9 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/array/array_repeat/stdout.snap +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/array/array_repeat/stdout.snap @@ -424,9 +424,9 @@ eq $r2 $r2 $zero jnzf $r2 $zero i1 jmpf $zero i6 move $$arg0 $r0 ; [call: log_45]: pass argument 0 -jal $$reta $pc i119 ; [call: log_45]: call function +jal $$reta $pc i118 ; [call: log_45]: call function movi $$arg0 i255 ; [call: log_45]: pass argument 0 -jal $$reta $pc i117 ; [call: log_45]: call function +jal $$reta $pc i116 ; [call: log_45]: call function load $r0 data_NonConfigurable_0; load constant from data section rvrt $r0 cfsi i264920 ; [fn end: main_0] free: locals 264920 byte(s), call args 0 slot(s) @@ -514,7 +514,7 @@ sb $r0 $r3 i0 ; store byte addi $r3 $$locbase i24 ; get offset to local __ptr slice move $$arg0 $r0 ; [call: to_slice_20]: pass argument 0 move $$arg1 $r3 ; [call: to_slice_20]: pass argument 1 -jal $$reta $pc i18 ; [call: to_slice_20]: call function +jal $$reta $pc i17 ; [call: to_slice_20]: call function addi $r0 $$locbase i72 ; get offset to local __ptr slice mcpi $r0 $r3 i16 ; copy memory addi $r3 $$locbase i56 ; get offset to local __ptr slice @@ -523,9 +523,8 @@ addi $r3 $$locbase i40 ; get offset to local __ptr slice mcpi $r3 $r0 i16 ; copy memory mcpi $$locbase $r0 i16 ; copy memory lw $r0 $$locbase i0 ; load word -movi $r3 i1 ; copy ASM block argument's constant initial value to register aloc $one ; aloc size -mcp $hp $r0 $r3 ; mcp hp src size +mcp $hp $r0 $one ; mcp hp src size lb $r0 $hp i0 ; load byte sb $r1 $r0 i0 ; store byte cfsi i88 ; [fn end: decode_array_19] free: locals 88 byte(s), call args 0 slot(s) @@ -569,7 +568,7 @@ data_NonConfigurable_2 .word 14454674236531057292 0x00000000 MOVE R60 $pc ;; [26, 240, 48, 0] 0x00000004 JMPF $zero 0x4 ;; [116, 0, 0, 4] -0x00000008 ;; [0, 0, 0, 0, 0, 0, 3, 152] +0x00000008 ;; [0, 0, 0, 0, 0, 0, 3, 144] 0x00000010 ;; [0, 0, 0, 0, 0, 0, 0, 0] 0x00000018 LW R63 R60 0x1 ;; [93, 255, 192, 1] 0x0000001c ADD R63 R63 R60 ;; [16, 255, 255, 0] @@ -659,9 +658,9 @@ data_NonConfigurable_2 .word 14454674236531057292 0x0000016c JNZF R50 $zero 0x1 ;; [118, 200, 0, 1] 0x00000170 JMPF $zero 0x6 ;; [116, 0, 0, 6] 0x00000174 MOVE R58 R52 ;; [26, 235, 64, 0] -0x00000178 JAL R62 $pc 0x77 ;; [153, 248, 48, 119] +0x00000178 JAL R62 $pc 0x76 ;; [153, 248, 48, 118] 0x0000017c MOVI R58 0xff ;; [114, 232, 0, 255] -0x00000180 JAL R62 $pc 0x75 ;; [153, 248, 48, 117] +0x00000180 JAL R62 $pc 0x74 ;; [153, 248, 48, 116] 0x00000184 LW R52 R63 0x0 ;; [93, 211, 240, 0] 0x00000188 RVRT R52 ;; [54, 208, 0, 0] 0x0000018c CFSI 0x40ad8 ;; [146, 4, 10, 216] @@ -749,7 +748,7 @@ data_NonConfigurable_2 .word 14454674236531057292 0x000002d4 ADDI R49 R59 0x18 ;; [80, 199, 176, 24] 0x000002d8 MOVE R58 R52 ;; [26, 235, 64, 0] 0x000002dc MOVE R57 R49 ;; [26, 231, 16, 0] -0x000002e0 JAL R62 $pc 0x12 ;; [153, 248, 48, 18] +0x000002e0 JAL R62 $pc 0x11 ;; [153, 248, 48, 17] 0x000002e4 ADDI R52 R59 0x48 ;; [80, 211, 176, 72] 0x000002e8 MCPI R52 R49 0x10 ;; [96, 211, 16, 16] 0x000002ec ADDI R49 R59 0x38 ;; [80, 199, 176, 56] @@ -758,47 +757,45 @@ data_NonConfigurable_2 .word 14454674236531057292 0x000002f8 MCPI R49 R52 0x10 ;; [96, 199, 64, 16] 0x000002fc MCPI R59 R52 0x10 ;; [96, 239, 64, 16] 0x00000300 LW R52 R59 0x0 ;; [93, 211, 176, 0] -0x00000304 MOVI R49 0x1 ;; [114, 196, 0, 1] -0x00000308 ALOC $one ;; [38, 4, 0, 0] -0x0000030c MCP $hp R52 R49 ;; [40, 31, 76, 64] -0x00000310 LB R52 $hp 0x0 ;; [92, 208, 112, 0] -0x00000314 SB R51 R52 0x0 ;; [94, 207, 64, 0] -0x00000318 CFSI 0x58 ;; [146, 0, 0, 88] -0x0000031c MOVE R62 R50 ;; [26, 251, 32, 0] -0x00000320 POPH 0x81e00 ;; [152, 8, 30, 0] -0x00000324 JAL $zero R62 0x0 ;; [153, 3, 224, 0] -0x00000328 PSHH 0x81000 ;; [150, 8, 16, 0] -0x0000032c MOVE R59 $sp ;; [26, 236, 80, 0] -0x00000330 CFEI 0x18 ;; [145, 0, 0, 24] -0x00000334 ADDI R52 R59 0x10 ;; [80, 211, 176, 16] -0x00000338 MCPI R52 R58 0x1 ;; [96, 211, 160, 1] -0x0000033c SW R59 R52 0x0 ;; [95, 239, 64, 0] -0x00000340 SW R59 $one 0x1 ;; [95, 236, 16, 1] -0x00000344 MCPI R57 R59 0x10 ;; [96, 231, 176, 16] -0x00000348 CFSI 0x18 ;; [146, 0, 0, 24] -0x0000034c POPH 0x81000 ;; [152, 8, 16, 0] -0x00000350 JAL $zero R62 0x0 ;; [153, 3, 224, 0] -0x00000354 PSHH 0x81c00 ;; [150, 8, 28, 0] -0x00000358 MOVE R59 $sp ;; [26, 236, 80, 0] -0x0000035c CFEI 0x28 ;; [145, 0, 0, 40] -0x00000360 ADDI R52 R59 0x20 ;; [80, 211, 176, 32] -0x00000364 SB R52 R58 0x0 ;; [94, 211, 160, 0] -0x00000368 SW R59 R52 0x0 ;; [95, 239, 64, 0] -0x0000036c SW R59 $one 0x1 ;; [95, 236, 16, 1] -0x00000370 ADDI R52 R59 0x10 ;; [80, 211, 176, 16] -0x00000374 MCPI R52 R59 0x10 ;; [96, 211, 176, 16] -0x00000378 LW R52 R63 0x2 ;; [93, 211, 240, 2] -0x0000037c LW R51 R59 0x2 ;; [93, 207, 176, 2] -0x00000380 LW R50 R59 0x3 ;; [93, 203, 176, 3] -0x00000384 LOGD $zero R52 R51 R50 ;; [52, 3, 76, 242] -0x00000388 CFSI 0x28 ;; [146, 0, 0, 40] -0x0000038c POPH 0x81c00 ;; [152, 8, 28, 0] -0x00000390 JAL $zero R62 0x0 ;; [153, 3, 224, 0] -0x00000394 NOOP ;; [71, 0, 0, 0] +0x00000304 ALOC $one ;; [38, 4, 0, 0] +0x00000308 MCP $hp R52 $one ;; [40, 31, 64, 64] +0x0000030c LB R52 $hp 0x0 ;; [92, 208, 112, 0] +0x00000310 SB R51 R52 0x0 ;; [94, 207, 64, 0] +0x00000314 CFSI 0x58 ;; [146, 0, 0, 88] +0x00000318 MOVE R62 R50 ;; [26, 251, 32, 0] +0x0000031c POPH 0x81e00 ;; [152, 8, 30, 0] +0x00000320 JAL $zero R62 0x0 ;; [153, 3, 224, 0] +0x00000324 PSHH 0x81000 ;; [150, 8, 16, 0] +0x00000328 MOVE R59 $sp ;; [26, 236, 80, 0] +0x0000032c CFEI 0x18 ;; [145, 0, 0, 24] +0x00000330 ADDI R52 R59 0x10 ;; [80, 211, 176, 16] +0x00000334 MCPI R52 R58 0x1 ;; [96, 211, 160, 1] +0x00000338 SW R59 R52 0x0 ;; [95, 239, 64, 0] +0x0000033c SW R59 $one 0x1 ;; [95, 236, 16, 1] +0x00000340 MCPI R57 R59 0x10 ;; [96, 231, 176, 16] +0x00000344 CFSI 0x18 ;; [146, 0, 0, 24] +0x00000348 POPH 0x81000 ;; [152, 8, 16, 0] +0x0000034c JAL $zero R62 0x0 ;; [153, 3, 224, 0] +0x00000350 PSHH 0x81c00 ;; [150, 8, 28, 0] +0x00000354 MOVE R59 $sp ;; [26, 236, 80, 0] +0x00000358 CFEI 0x28 ;; [145, 0, 0, 40] +0x0000035c ADDI R52 R59 0x20 ;; [80, 211, 176, 32] +0x00000360 SB R52 R58 0x0 ;; [94, 211, 160, 0] +0x00000364 SW R59 R52 0x0 ;; [95, 239, 64, 0] +0x00000368 SW R59 $one 0x1 ;; [95, 236, 16, 1] +0x0000036c ADDI R52 R59 0x10 ;; [80, 211, 176, 16] +0x00000370 MCPI R52 R59 0x10 ;; [96, 211, 176, 16] +0x00000374 LW R52 R63 0x2 ;; [93, 211, 240, 2] +0x00000378 LW R51 R59 0x2 ;; [93, 207, 176, 2] +0x0000037c LW R50 R59 0x3 ;; [93, 203, 176, 3] +0x00000380 LOGD $zero R52 R51 R50 ;; [52, 3, 76, 242] +0x00000384 CFSI 0x28 ;; [146, 0, 0, 40] +0x00000388 POPH 0x81c00 ;; [152, 8, 28, 0] +0x0000038c JAL $zero R62 0x0 ;; [153, 3, 224, 0] .data_section: -0x00000398 .word i18446744073709486083, as hex be bytes ([FF, FF, FF, FF, FF, FF, 00, 03]) -0x000003a0 .word i262145, as hex be bytes ([00, 00, 00, 00, 00, 04, 00, 01]) -0x000003a8 .word i14454674236531057292, as hex be bytes ([C8, 99, 51, A2, 4C, 6C, A2, 8C]) +0x00000390 .word i18446744073709486083, as hex be bytes ([FF, FF, FF, FF, FF, FF, 00, 03]) +0x00000398 .word i262145, as hex be bytes ([00, 00, 00, 00, 00, 04, 00, 01]) +0x000003a0 .word i14454674236531057292, as hex be bytes ([C8, 99, 51, A2, 4C, 6C, A2, 8C]) ;; --- END OF TARGET BYTECODE --- warning @@ -898,7 +895,7 @@ warning ____ Compiled script "array_repeat" with 8 warnings. - Finished release [optimized + fuel] target(s) [944 B] in ??? + Finished release [optimized + fuel] target(s) [936 B] in ??? > forc test --path test/src/e2e_vm_tests/test_programs/should_pass/language/array/array_repeat --verbose --release exit status: 0 @@ -906,10 +903,10 @@ output: Building test/src/e2e_vm_tests/test_programs/should_pass/language/array/array_repeat Compiling library std (test/src/e2e_vm_tests/reduced_std_libs/sway-lib-std-assert) Compiling script array_repeat (test/src/e2e_vm_tests/test_programs/should_pass/language/array/array_repeat) - Finished release [optimized + fuel] target(s) [1.944 KB] in ??? + Finished release [optimized + fuel] target(s) [1.936 KB] in ??? script array_repeat - Bytecode size: 1944 bytes (1.944 KB) - Bytecode hash: 0xd84e1f0af96e64ef4c4c098c44c52e6494d47aa0b5eee14850b62bbde99640fb + Bytecode size: 1936 bytes (1.936 KB) + Bytecode hash: 0xf5e611ded2c5ac382dcd424b92612d5231b1a803d095eaa8fcd782c44567ab86 Running 1 test, filtered 0 tests tested -- array_repeat diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/configurable_consts/json_abi_oracle_new_encoding.release.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/configurable_consts/json_abi_oracle_new_encoding.release.json index d1881f641ff..bbc70b68a29 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/configurable_consts/json_abi_oracle_new_encoding.release.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/configurable_consts/json_abi_oracle_new_encoding.release.json @@ -63,97 +63,97 @@ "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", "indirect": false, "name": "BOOL", - "offset": 3232 + "offset": 3224 }, { "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", "indirect": false, "name": "U8", - "offset": 3424 + "offset": 3416 }, { "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", "indirect": false, "name": "ANOTHER_U8", - "offset": 3160 + "offset": 3152 }, { "concreteTypeId": "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef", "indirect": false, "name": "U16", - "offset": 3368 + "offset": 3360 }, { "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", "indirect": false, "name": "U32", - "offset": 3408 + "offset": 3400 }, { "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", "indirect": false, "name": "U64", - "offset": 3416 + "offset": 3408 }, { "concreteTypeId": "1b5759d94094368cfd443019e7ca5ec4074300e544e5ea993a979f5da627261e", "indirect": false, "name": "U256", - "offset": 3376 + "offset": 3368 }, { "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", "indirect": false, "name": "B256", - "offset": 3200 + "offset": 3192 }, { "concreteTypeId": "81fc10c4681a3271cf2d66b2ec6fbc8ed007a442652930844fcf11818c295bff", "indirect": false, "name": "CONFIGURABLE_STRUCT", - "offset": 3320 + "offset": 3312 }, { "concreteTypeId": "a2922861f03be8a650595dd76455b95383a61b46dd418f02607fa2e00dc39d5c", "indirect": false, "name": "CONFIGURABLE_ENUM_A", - "offset": 3240 + "offset": 3232 }, { "concreteTypeId": "a2922861f03be8a650595dd76455b95383a61b46dd418f02607fa2e00dc39d5c", "indirect": false, "name": "CONFIGURABLE_ENUM_B", - "offset": 3280 + "offset": 3272 }, { "concreteTypeId": "4926d35d1a5157936b0a29bc126b8aace6d911209a5c130e9b716b0c73643ea6", "indirect": false, "name": "ARRAY_BOOL", - "offset": 3168 + "offset": 3160 }, { "concreteTypeId": "776fb5a3824169d6736138565fdc20aad684d9111266a5ff6d5c675280b7e199", "indirect": false, "name": "ARRAY_U64", - "offset": 3176 + "offset": 3168 }, { "concreteTypeId": "c998ca9a5f221fe7b5c66ae70c8a9562b86d964408b00d17f883c906bc1fe4be", "indirect": false, "name": "TUPLE_BOOL_U64", - "offset": 3352 + "offset": 3344 }, { "concreteTypeId": "94f0fa95c830be5e4f711963e83259fe7e8bc723278ab6ec34449e791a99b53a", "indirect": false, "name": "STR_4", - "offset": 3344 + "offset": 3336 }, { "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", "indirect": false, "name": "NOT_USED", - "offset": 3336 + "offset": 3328 } ], "encodingVersion": "1", diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/const_generics/stdout.snap b/test/src/e2e_vm_tests/test_programs/should_pass/language/const_generics/stdout.snap index 527325bf664..200f4c0a664 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/const_generics/stdout.snap +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/const_generics/stdout.snap @@ -35,12 +35,12 @@ warning ____ Compiled script "const_generics" with 2 warnings. - Finished debug [unoptimized + fuel] target(s) [8.112 KB] in ??? + Finished debug [unoptimized + fuel] target(s) [8.048 KB] in ??? Running 1 test, filtered 0 tests tested -- const_generics - test run_main ... ok (???, 18049 gas) + test run_main ... ok (???, 17967 gas) debug output: [src/main.sw:154:13] a = [1, 2] [src/main.sw:158:13] [C {}].len() = 1 diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/intrinsics/dbg/stdout.snap b/test/src/e2e_vm_tests/test_programs/should_pass/language/intrinsics/dbg/stdout.snap index b2bfdbab1db..4570620ab40 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/intrinsics/dbg/stdout.snap +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/intrinsics/dbg/stdout.snap @@ -13,12 +13,12 @@ output: Building test/src/e2e_vm_tests/test_programs/should_pass/language/intrinsics/dbg Compiling library std (sway-lib-std) Compiling script dbg (test/src/e2e_vm_tests/test_programs/should_pass/language/intrinsics/dbg) - Finished debug [unoptimized + fuel] target(s) [32.712 KB] in ??? + Finished debug [unoptimized + fuel] target(s) [32.496 KB] in ??? Running 1 test, filtered 0 tests tested -- dbg - test call_main ... ok (???, 111533 gas) + test call_main ... ok (???, 111135 gas) debug output: [src/main.sw:13:13] () = () [src/main.sw:15:13] true = true diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_all/stdout.snap b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_all/stdout.snap index 0323e5ff2c3..c6a49a9cfe1 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_all/stdout.snap +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_all/stdout.snap @@ -7,7 +7,7 @@ output: Building test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_all Compiling library std (test/src/e2e_vm_tests/reduced_std_libs/sway-lib-std-assert) Compiling script match_expressions_all (test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_all) - Finished debug [unoptimized + fuel] target(s) [2.784 KB] in ??? + Finished debug [unoptimized + fuel] target(s) [2.776 KB] in ??? > forc build --path test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_all --ir final --asm final --release | filter-fn match_expressions_all return_match_on_str_slice @@ -91,52 +91,49 @@ fn return_match_on_str_slice_8(mut param: __ptr slice) -> u64 { - pshh i531968 ; [fn init: return_match_on_str_slice_8]: push used high registers 40..64 move $$locbase $sp ; [fn init: return_match_on_str_slice_8]: set locals base register cfei i112 ; [fn init: return_match_on_str_slice_8]: allocate: locals 112 byte(s), call args 0 slot(s) -move $r0 $$arg0 ; [fn init: return_match_on_str_slice_8]: copy argument 0 (param) -move $r1 $$reta ; [fn init: return_match_on_str_slice_8]: save return address -addi $r2 $$locbase i96 ; get offset to local __ptr slice -mcpi $r2 $$arg0 i16 ; copy memory -addr $r3 data_NonConfigurable_7; get __const_global's address in data section -sw $$locbase $r3 i0 ; store word -movi $r3 i5 ; initialize constant into register -sw $$locbase $r3 i1 ; store word -addi $r3 $$locbase i16 ; get offset to local __ptr slice -mcpi $r3 $$locbase i16 ; copy memory -move $$arg0 $r0 ; [call: eq_9]: pass argument 0 -move $$arg1 $r3 ; [call: eq_9]: pass argument 1 +move $r0 $$reta ; [fn init: return_match_on_str_slice_8]: save return address +addi $r1 $$locbase i96 ; get offset to local __ptr slice +mcpi $r1 $$arg0 i16 ; copy memory +addr $r2 data_NonConfigurable_7; get __const_global's address in data section +sw $$locbase $r2 i0 ; store word +movi $r2 i5 ; initialize constant into register +sw $$locbase $r2 i1 ; store word +addi $r2 $$locbase i16 ; get offset to local __ptr slice +mcpi $r2 $$locbase i16 ; copy memory +move $$arg1 $r2 ; [call: eq_9]: pass argument 1 jal $$reta $pc i33 ; [call: eq_9]: call function -movi $r0 i1 ; move parameter from branch to block argument +movi $r2 i1 ; move parameter from branch to block argument jnzf $$retv $zero i25 -addr $r0 data_NonConfigurable_9; get __const_global0's address in data section +addr $r2 data_NonConfigurable_9; get __const_global0's address in data section addi $r3 $$locbase i32 ; get offset to local __ptr { ptr, u64 } -sw $$locbase $r0 i4 ; store word -movi $r0 i7 ; initialize constant into register -sw $$locbase $r0 i5 ; store word -addi $r0 $$locbase i48 ; get offset to local __ptr slice -mcpi $r0 $r3 i16 ; copy memory -move $$arg0 $r2 ; [call: eq_9]: pass argument 0 -move $$arg1 $r0 ; [call: eq_9]: pass argument 1 +sw $$locbase $r2 i4 ; store word +movi $r2 i7 ; initialize constant into register +sw $$locbase $r2 i5 ; store word +addi $r2 $$locbase i48 ; get offset to local __ptr slice +mcpi $r2 $r3 i16 ; copy memory +move $$arg0 $r1 ; [call: eq_9]: pass argument 0 +move $$arg1 $r2 ; [call: eq_9]: pass argument 1 jal $$reta $pc i21 ; [call: eq_9]: call function -movi $r0 i2 ; move parameter from branch to block argument +movi $r2 i2 ; move parameter from branch to block argument jnzf $$retv $zero i13 -addr $r0 data_NonConfigurable_10; get __const_global1's address in data section +addr $r2 data_NonConfigurable_10; get __const_global1's address in data section addi $r3 $$locbase i64 ; get offset to local __ptr { ptr, u64 } -sw $$locbase $r0 i8 ; store word -movi $r0 i5 ; initialize constant into register -sw $$locbase $r0 i9 ; store word -addi $r0 $$locbase i80 ; get offset to local __ptr slice -mcpi $r0 $r3 i16 ; copy memory -move $$arg0 $r2 ; [call: eq_9]: pass argument 0 -move $$arg1 $r0 ; [call: eq_9]: pass argument 1 +sw $$locbase $r2 i8 ; store word +movi $r2 i5 ; initialize constant into register +sw $$locbase $r2 i9 ; store word +addi $r2 $$locbase i80 ; get offset to local __ptr slice +mcpi $r2 $r3 i16 ; copy memory +move $$arg0 $r1 ; [call: eq_9]: pass argument 0 +move $$arg1 $r2 ; [call: eq_9]: pass argument 1 jal $$reta $pc i9 ; [call: eq_9]: call function -movi $r0 i3 ; move parameter from branch to block argument +movi $r2 i3 ; move parameter from branch to block argument jnzf $$retv $zero i1 -movi $r0 i1000 ; move parameter from branch to block argument -move $$retv $r0 ; [fn end: return_match_on_str_slice_8] set return value +movi $r2 i1000 ; move parameter from branch to block argument +move $$retv $r2 ; [fn end: return_match_on_str_slice_8] set return value cfsi i112 ; [fn end: return_match_on_str_slice_8] free: locals 112 byte(s), call args 0 slot(s) -move $$reta $r1 ; [fn end: return_match_on_str_slice_8] restore return address +move $$reta $r0 ; [fn end: return_match_on_str_slice_8] restore return address poph i531968 ; [fn end: return_match_on_str_slice_8]: restore used high registers 40..64 jal $zero $$reta i0 ; [fn end: return_match_on_str_slice_8] return from call diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panic_handling_in_unit_tests/stdout.snap b/test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panic_handling_in_unit_tests/stdout.snap index 5a79b1c571b..bb7dce09994 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panic_handling_in_unit_tests/stdout.snap +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panic_handling_in_unit_tests/stdout.snap @@ -18,12 +18,12 @@ warning: Error message is empty ____ Compiled script "panic_handling_in_unit_tests" with 1 warning. - Finished debug [unoptimized + fuel] target(s) [7.672 KB] in ??? + Finished debug [unoptimized + fuel] target(s) [7.656 KB] in ??? Running 2 tests, filtered 18 tests tested -- panic_handling_in_unit_tests - test passing_dbgs_and_logs ... ok (???, 2681 gas) + test passing_dbgs_and_logs ... ok (???, 2675 gas) debug output: [src/main.sw:23:13] "This is a passing test containing `__dbg` outputs." = "This is a passing test containing `__dbg` outputs." [src/main.sw:25:13] x = 42 @@ -31,7 +31,7 @@ tested -- panic_handling_in_unit_tests AsciiString { data: "This is a log from the passing test." }, log rb: 10098701174489624218 42, log rb: 1515152261580153489 raw logs: -[{"LogData":{"data":"0000000000000024546869732069732061206c6f672066726f6d207468652070617373696e6720746573742e","digest":"29d742ad9093cdf81404ff756467a44448729b85ab3c0d65197829fb61d2dd29","id":"0000000000000000000000000000000000000000000000000000000000000000","is":10368,"len":44,"pc":10800,"ptr":67107840,"ra":0,"rb":10098701174489624218}},{"LogData":{"data":"000000000000002a","digest":"a6bb133cb1e3638ad7b8a3ff0539668e9e56f9b850ef1b2a810f5422eaa6c323","id":"0000000000000000000000000000000000000000000000000000000000000000","is":10368,"len":8,"pc":15248,"ptr":18792,"ra":0,"rb":1515152261580153489}}] +[{"LogData":{"data":"0000000000000024546869732069732061206c6f672066726f6d207468652070617373696e6720746573742e","digest":"29d742ad9093cdf81404ff756467a44448729b85ab3c0d65197829fb61d2dd29","id":"0000000000000000000000000000000000000000000000000000000000000000","is":10368,"len":44,"pc":10800,"ptr":67107840,"ra":0,"rb":10098701174489624218}},{"LogData":{"data":"000000000000002a","digest":"a6bb133cb1e3638ad7b8a3ff0539668e9e56f9b850ef1b2a810f5422eaa6c323","id":"0000000000000000000000000000000000000000000000000000000000000000","is":10368,"len":8,"pc":15240,"ptr":18776,"ra":0,"rb":1515152261580153489}}] test passing_no_dbgs_or_logs ... ok (???, 69 gas) test result: OK. 2 passed; 0 failed; finished in ??? @@ -55,18 +55,18 @@ warning: Error message is empty ____ Compiled script "panic_handling_in_unit_tests" with 1 warning. - Finished debug [unoptimized + fuel] target(s) [7.672 KB] in ??? + Finished debug [unoptimized + fuel] target(s) [7.656 KB] in ??? Running 20 tests, filtered 0 tests tested -- panic_handling_in_unit_tests - test passing_dbgs_and_logs ... ok (???, 2681 gas) + test passing_dbgs_and_logs ... ok (???, 2675 gas) test passing_no_dbgs_or_logs ... ok (???, 69 gas) test failing_revert_intrinsic ... FAILED (???, 71 gas) - test failing_revert_function_with_dbgs_and_logs ... FAILED (???, 2633 gas) - test failing_error_signal_assert ... FAILED (???, 375 gas) - test failing_error_signal_assert_eq ... FAILED (???, 2200 gas) - test failing_error_signal_assert_ne ... FAILED (???, 2194 gas) + test failing_revert_function_with_dbgs_and_logs ... FAILED (???, 2627 gas) + test failing_error_signal_assert ... FAILED (???, 372 gas) + test failing_error_signal_assert_eq ... FAILED (???, 2197 gas) + test failing_error_signal_assert_ne ... FAILED (???, 2191 gas) test failing_error_signal_require_str_error ... FAILED (???, 819 gas) test failing_error_signal_require_enum_error ... FAILED (???, 919 gas) test failing_panic_no_arg ... FAILED (???, 571 gas) @@ -149,8 +149,8 @@ AsciiString { data: "We will get logged the asserted values and this message." } "id": "0000000000000000000000000000000000000000000000000000000000000000", "is": 10368, "len": 8, - "pc": 15248, - "ptr": 18744, + "pc": 15240, + "ptr": 18728, "ra": 0, "rb": 1515152261580153489 } @@ -162,8 +162,8 @@ AsciiString { data: "We will get logged the asserted values and this message." } "id": "0000000000000000000000000000000000000000000000000000000000000000", "is": 10368, "len": 8, - "pc": 15248, - "ptr": 18744, + "pc": 15240, + "ptr": 18728, "ra": 0, "rb": 1515152261580153489 } @@ -202,8 +202,8 @@ AsciiString { data: "We will get logged the asserted values and this message." } "id": "0000000000000000000000000000000000000000000000000000000000000000", "is": 10368, "len": 8, - "pc": 15248, - "ptr": 18736, + "pc": 15240, + "ptr": 18720, "ra": 0, "rb": 1515152261580153489 } @@ -215,8 +215,8 @@ AsciiString { data: "We will get logged the asserted values and this message." } "id": "0000000000000000000000000000000000000000000000000000000000000000", "is": 10368, "len": 8, - "pc": 15248, - "ptr": 18736, + "pc": 15240, + "ptr": 18720, "ra": 0, "rb": 1515152261580153489 } @@ -287,7 +287,7 @@ B(true), log rb: 8516346929033386016 "is": 10368, "len": 0, "pc": 13096, - "ptr": 18296, + "ptr": 18280, "ra": 0, "rb": 3330666440490685604 } @@ -312,7 +312,7 @@ B(true), log rb: 8516346929033386016 "is": 10368, "len": 0, "pc": 13148, - "ptr": 18296, + "ptr": 18280, "ra": 0, "rb": 3330666440490685604 } diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_contract/stdout.snap b/test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_contract/stdout.snap index 5aa7555c575..950a5b416d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_contract/stdout.snap +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_contract/stdout.snap @@ -8,7 +8,7 @@ output: Compiling library std (test/src/e2e_vm_tests/reduced_std_libs/sway-lib-std-core) Compiling library panicking_lib (test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_lib) Compiling contract panicking_contract (test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_contract) - Finished debug [unoptimized + fuel] target(s) [7.872 KB] in ??? + Finished debug [unoptimized + fuel] target(s) [7.856 KB] in ??? Running 12 tests, filtered 0 tests tested -- panicking_contract @@ -26,7 +26,7 @@ tested -- panicking_contract │ └─ at panicking_contract@1.2.3, src/main.sw:28:9 decoded log values: C(true), log rb: 5503570629422409978 - test test_nested_panic_inlined ... ok (???, 2774 gas) + test test_nested_panic_inlined ... ok (???, 2773 gas) revert code: 8000000000c01001 ├─ panic message: Error E. ├─ panic value: E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString { data: "in error enum variants" }]) @@ -38,7 +38,7 @@ C(true), log rb: 5503570629422409978 └─ at panicking_contract@1.2.3, src/main.sw:32:9 decoded log values: E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString { data: "in error enum variants" }]), log rb: 5503570629422409978 - test test_nested_panic_inlined_same_revert_code ... ok (???, 2774 gas) + test test_nested_panic_inlined_same_revert_code ... ok (???, 2773 gas) revert code: 8000000000c01001 ├─ panic message: Error E. ├─ panic value: E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString { data: "in error enum variants" }]) @@ -50,7 +50,7 @@ E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString └─ at panicking_contract@1.2.3, src/main.sw:32:9 decoded log values: E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString { data: "in error enum variants" }]), log rb: 5503570629422409978 - test test_nested_panic_non_inlined ... ok (???, 2834 gas) + test test_nested_panic_non_inlined ... ok (???, 2832 gas) revert code: 8180000002804808 ├─ panic message: Error E. ├─ panic value: E([AsciiString { data: "this" }, AsciiString { data: "is not" }, AsciiString { data: "the best practice" }]) @@ -62,7 +62,7 @@ E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString └─ at panicking_contract@1.2.3, src/main.sw:40:9 decoded log values: E([AsciiString { data: "this" }, AsciiString { data: "is not" }, AsciiString { data: "the best practice" }]), log rb: 5503570629422409978 - test test_nested_panic_non_inlined_same_revert_code ... ok (???, 2834 gas) + test test_nested_panic_non_inlined_same_revert_code ... ok (???, 2832 gas) revert code: 8180000002804808 ├─ panic message: Error E. ├─ panic value: E([AsciiString { data: "this" }, AsciiString { data: "is not" }, AsciiString { data: "the best practice" }]) @@ -92,7 +92,7 @@ E([AsciiString { data: "this" }, AsciiString { data: "is not" }, AsciiString { d └─ at panicking_contract@1.2.3, src/main.sw:48:9 decoded log values: (), log rb: 3330666440490685604 - test test_generic_panic_with_str ... ok (???, 2112 gas) + test test_generic_panic_with_str ... ok (???, 2111 gas) revert code: 8080000000002804 ├─ panic message: generic panic with string ├─ panicked: in panicking_lib::generic_panic @@ -101,7 +101,7 @@ E([AsciiString { data: "this" }, AsciiString { data: "is not" }, AsciiString { d └─ at panicking_contract@1.2.3, src/main.sw:56:9 decoded log values: AsciiString { data: "generic panic with string" }, log rb: 10098701174489624218 - test test_generic_panic_with_different_str_same_revert_code ... ok (???, 2255 gas) + test test_generic_panic_with_different_str_same_revert_code ... ok (???, 2254 gas) revert code: 808000000000d019 ├─ panic message: generic panic with different string ├─ panicked: in panicking_lib::generic_panic @@ -142,17 +142,17 @@ output: Compiling library std (test/src/e2e_vm_tests/reduced_std_libs/sway-lib-std-core) Compiling library panicking_lib (test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_lib) Compiling contract panicking_contract (test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_contract) - Finished release [optimized + fuel] target(s) [5.616 KB] in ??? + Finished release [optimized + fuel] target(s) [5.6 KB] in ??? Running 12 tests, filtered 0 tests tested -- panicking_contract - test test_panicking_in_contract_self_impl ... ok (???, 1084 gas) + test test_panicking_in_contract_self_impl ... ok (???, 1079 gas) revert code: 8280000000000000 ├─ panic message: panicking in contract self impl └─ panicked: in ::panicking_in_contract_self_impl └─ at panicking_contract@1.2.3, src/main.sw:22:9 - test test_directly_panicking_method ... ok (???, 1832 gas) + test test_directly_panicking_method ... ok (???, 1827 gas) revert code: 8200000000000000 ├─ panic message: Error C. ├─ panic value: C(true) @@ -160,7 +160,7 @@ tested -- panicking_contract └─ at panicking_contract@1.2.3, src/main.sw:28:9 decoded log values: C(true), log rb: 5503570629422409978 - test test_nested_panic_inlined ... ok (???, 2252 gas) + test test_nested_panic_inlined ... ok (???, 2247 gas) revert code: 8000000000000000 ├─ panic message: Error E. ├─ panic value: E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString { data: "in error enum variants" }]) @@ -168,7 +168,7 @@ C(true), log rb: 5503570629422409978 └─ at panicking_lib, src/lib.sw:35:5 decoded log values: E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString { data: "in error enum variants" }]), log rb: 5503570629422409978 - test test_nested_panic_inlined_same_revert_code ... ok (???, 2252 gas) + test test_nested_panic_inlined_same_revert_code ... ok (???, 2247 gas) revert code: 8000000000000000 ├─ panic message: Error E. ├─ panic value: E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString { data: "in error enum variants" }]) @@ -176,7 +176,7 @@ E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString └─ at panicking_lib, src/lib.sw:35:5 decoded log values: E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString { data: "in error enum variants" }]), log rb: 5503570629422409978 - test test_nested_panic_non_inlined ... ok (???, 2281 gas) + test test_nested_panic_non_inlined ... ok (???, 2275 gas) revert code: 8180000000000000 ├─ panic message: Error E. ├─ panic value: E([AsciiString { data: "this" }, AsciiString { data: "is not" }, AsciiString { data: "the best practice" }]) @@ -184,7 +184,7 @@ E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString └─ at panicking_lib, src/lib.sw:41:9 decoded log values: E([AsciiString { data: "this" }, AsciiString { data: "is not" }, AsciiString { data: "the best practice" }]), log rb: 5503570629422409978 - test test_nested_panic_non_inlined_same_revert_code ... ok (???, 2281 gas) + test test_nested_panic_non_inlined_same_revert_code ... ok (???, 2275 gas) revert code: 8180000000000000 ├─ panic message: Error E. ├─ panic value: E([AsciiString { data: "this" }, AsciiString { data: "is not" }, AsciiString { data: "the best practice" }]) @@ -192,35 +192,35 @@ E([AsciiString { data: "this" }, AsciiString { data: "is not" }, AsciiString { d └─ at panicking_lib, src/lib.sw:41:9 decoded log values: E([AsciiString { data: "this" }, AsciiString { data: "is not" }, AsciiString { data: "the best practice" }]), log rb: 5503570629422409978 - test test_generic_panic_with_unit ... ok (???, 1540 gas) + test test_generic_panic_with_unit ... ok (???, 1535 gas) revert code: 8100000000000000 ├─ panic value: () └─ panicked: in panicking_lib::generic_panic └─ at panicking_lib, src/lib.sw:74:5 decoded log values: (), log rb: 3330666440490685604 - test test_generic_panic_with_unit_same_revert_code ... ok (???, 1540 gas) + test test_generic_panic_with_unit_same_revert_code ... ok (???, 1535 gas) revert code: 8100000000000000 ├─ panic value: () └─ panicked: in panicking_lib::generic_panic └─ at panicking_lib, src/lib.sw:74:5 decoded log values: (), log rb: 3330666440490685604 - test test_generic_panic_with_str ... ok (???, 1737 gas) + test test_generic_panic_with_str ... ok (???, 1732 gas) revert code: 8080000000000000 ├─ panic message: generic panic with string └─ panicked: in panicking_lib::generic_panic └─ at panicking_lib, src/lib.sw:74:5 decoded log values: AsciiString { data: "generic panic with string" }, log rb: 10098701174489624218 - test test_generic_panic_with_different_str_same_revert_code ... ok (???, 1780 gas) + test test_generic_panic_with_different_str_same_revert_code ... ok (???, 1775 gas) revert code: 8080000000000000 ├─ panic message: generic panic with different string └─ panicked: in panicking_lib::generic_panic └─ at panicking_lib, src/lib.sw:74:5 decoded log values: AsciiString { data: "generic panic with different string" }, log rb: 10098701174489624218 - test test_generic_panic_with_error_type_enum ... ok (???, 1766 gas) + test test_generic_panic_with_error_type_enum ... ok (???, 1761 gas) revert code: 8300000000000000 ├─ panic message: Error A. ├─ panic value: A @@ -228,7 +228,7 @@ AsciiString { data: "generic panic with different string" }, log rb: 10098701174 └─ at panicking_lib, src/lib.sw:74:5 decoded log values: A, log rb: 5503570629422409978 - test test_generic_panic_with_error_type_enum_different_variant_same_revert_code ... ok (???, 1858 gas) + test test_generic_panic_with_error_type_enum_different_variant_same_revert_code ... ok (???, 1853 gas) revert code: 8300000000000000 ├─ panic message: Error B. ├─ panic value: B(42) diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_lib/stdout.snap b/test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_lib/stdout.snap index 2b335cb9810..f10e433a651 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_lib/stdout.snap +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_lib/stdout.snap @@ -7,12 +7,12 @@ output: Building test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_lib Compiling library std (test/src/e2e_vm_tests/reduced_std_libs/sway-lib-std-core) Compiling library panicking_lib (test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_lib) - Finished debug [unoptimized + fuel] target(s) [6.184 KB] in ??? + Finished debug [unoptimized + fuel] target(s) [6.168 KB] in ??? Running 18 tests, filtered 0 tests tested -- panicking_lib - test test_nested_panic_inlined ... ok (???, 1510 gas) + test test_nested_panic_inlined ... ok (???, 1508 gas) revert code: 8000000000001001 ├─ panic message: Error E. ├─ panic value: E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString { data: "in error enum variants" }]) @@ -24,7 +24,7 @@ tested -- panicking_lib └─ at panicking_lib, src/lib.sw:55:5 decoded log values: E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString { data: "in error enum variants" }]), log rb: 2721958641300806892 - test test_nested_panic_inlined_same_revert_code ... ok (???, 1510 gas) + test test_nested_panic_inlined_same_revert_code ... ok (???, 1508 gas) revert code: 8000000000001801 ├─ panic message: Error E. ├─ panic value: E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString { data: "in error enum variants" }]) @@ -36,7 +36,7 @@ E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString └─ at panicking_lib, src/lib.sw:60:5 decoded log values: E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString { data: "in error enum variants" }]), log rb: 2721958641300806892 - test test_nested_panic_non_inlined ... ok (???, 1528 gas) + test test_nested_panic_non_inlined ... ok (???, 1525 gas) revert code: 8080000000002804 ├─ panic message: Error E. ├─ panic value: E([AsciiString { data: "this" }, AsciiString { data: "is not" }, AsciiString { data: "the best practice" }]) @@ -48,7 +48,7 @@ E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString └─ at panicking_lib, src/lib.sw:65:5 decoded log values: E([AsciiString { data: "this" }, AsciiString { data: "is not" }, AsciiString { data: "the best practice" }]), log rb: 2721958641300806892 - test test_nested_panic_non_inlined_same_revert_code ... ok (???, 1528 gas) + test test_nested_panic_non_inlined_same_revert_code ... ok (???, 1525 gas) revert code: 8080000000003004 ├─ panic message: Error E. ├─ panic value: E([AsciiString { data: "this" }, AsciiString { data: "is not" }, AsciiString { data: "the best practice" }]) @@ -96,7 +96,7 @@ AsciiString { data: "generic panic with string" }, log rb: 10098701174489624218 └─ at panicking_lib, src/lib.sw:98:5 decoded log values: AsciiString { data: "generic panic different string" }, log rb: 10098701174489624218 - test test_generic_panic_with_error_type_enum_variant ... ok (???, 846 gas) + test test_generic_panic_with_error_type_enum_variant ... ok (???, 845 gas) revert code: 820000000000000b ├─ panic message: Error A. ├─ panic value: A @@ -106,7 +106,7 @@ AsciiString { data: "generic panic different string" }, log rb: 1009870117448962 └─ at panicking_lib, src/lib.sw:103:5 decoded log values: A, log rb: 2721958641300806892 - test test_generic_panic_with_error_type_enum_different_variant_same_revert_code ... ok (???, 846 gas) + test test_generic_panic_with_error_type_enum_different_variant_same_revert_code ... ok (???, 845 gas) revert code: 820000000000000c ├─ panic message: Error A. ├─ panic value: A @@ -135,7 +135,7 @@ A, log rb: 2721958641300806892 ├─ panic message: panic with string └─ panicked: in panicking_lib::test_panic_with_str └─ at panicking_lib, src/lib.sw:123:5 - test test_panic_with_error_type_enum ... ok (???, 976 gas) + test test_panic_with_error_type_enum ... ok (???, 975 gas) revert code: 8400000000000000 ├─ panic message: Error C. ├─ panic value: C(true) @@ -150,7 +150,7 @@ C(true), log rb: 2721958641300806892 └─ at panicking_lib, src/lib.sw:133:5 decoded log values: A(42), log rb: 12408470889216862137 - test test_panic_with_nested_generic_error_type ... ok (???, 1161 gas) + test test_panic_with_nested_generic_error_type ... ok (???, 1160 gas) revert code: 8500000000000000 ├─ panic value: B(B(C(true))) └─ panicked: in panicking_lib::test_panic_with_nested_generic_error_type @@ -164,7 +164,7 @@ B(B(C(true))), log rb: 14988555917426256081 └─ at panicking_lib, src/lib.sw:143:5 decoded log values: A(42), log rb: 17388243649088655852 - test test_panic_with_nested_generic_error_type_enum_with_abi_encode ... ok (???, 1161 gas) + test test_panic_with_nested_generic_error_type_enum_with_abi_encode ... ok (???, 1160 gas) revert code: 8600000000000000 ├─ panic value: B(B(C(true))) └─ panicked: in panicking_lib::test_panic_with_nested_generic_error_type_enum_with_abi_encode @@ -182,12 +182,12 @@ output: Building test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_lib Compiling library std (test/src/e2e_vm_tests/reduced_std_libs/sway-lib-std-core) Compiling library panicking_lib (test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_lib) - Finished release [optimized + fuel] target(s) [3.872 KB] in ??? + Finished release [optimized + fuel] target(s) [3.864 KB] in ??? Running 18 tests, filtered 0 tests tested -- panicking_lib - test test_nested_panic_inlined ... ok (???, 1268 gas) + test test_nested_panic_inlined ... ok (???, 1267 gas) revert code: 8000000000000000 ├─ panic message: Error E. ├─ panic value: E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString { data: "in error enum variants" }]) @@ -195,7 +195,7 @@ tested -- panicking_lib └─ at panicking_lib, src/lib.sw:35:5 decoded log values: E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString { data: "in error enum variants" }]), log rb: 2721958641300806892 - test test_nested_panic_inlined_same_revert_code ... ok (???, 1268 gas) + test test_nested_panic_inlined_same_revert_code ... ok (???, 1267 gas) revert code: 8000000000000000 ├─ panic message: Error E. ├─ panic value: E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString { data: "in error enum variants" }]) @@ -203,7 +203,7 @@ E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString └─ at panicking_lib, src/lib.sw:35:5 decoded log values: E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString { data: "in error enum variants" }]), log rb: 2721958641300806892 - test test_nested_panic_non_inlined ... ok (???, 1286 gas) + test test_nested_panic_non_inlined ... ok (???, 1284 gas) revert code: 8080000000000000 ├─ panic message: Error E. ├─ panic value: E([AsciiString { data: "this" }, AsciiString { data: "is not" }, AsciiString { data: "the best practice" }]) @@ -211,7 +211,7 @@ E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString └─ at panicking_lib, src/lib.sw:41:9 decoded log values: E([AsciiString { data: "this" }, AsciiString { data: "is not" }, AsciiString { data: "the best practice" }]), log rb: 2721958641300806892 - test test_nested_panic_non_inlined_same_revert_code ... ok (???, 1286 gas) + test test_nested_panic_non_inlined_same_revert_code ... ok (???, 1284 gas) revert code: 8080000000000000 ├─ panic message: Error E. ├─ panic value: E([AsciiString { data: "this" }, AsciiString { data: "is not" }, AsciiString { data: "the best practice" }]) @@ -247,7 +247,7 @@ AsciiString { data: "generic panic with string" }, log rb: 10098701174489624218 └─ at panicking_lib, src/lib.sw:74:5 decoded log values: AsciiString { data: "generic panic different string" }, log rb: 10098701174489624218 - test test_generic_panic_with_error_type_enum_variant ... ok (???, 750 gas) + test test_generic_panic_with_error_type_enum_variant ... ok (???, 749 gas) revert code: 8200000000000000 ├─ panic message: Error A. ├─ panic value: A @@ -255,7 +255,7 @@ AsciiString { data: "generic panic different string" }, log rb: 1009870117448962 └─ at panicking_lib, src/lib.sw:74:5 decoded log values: A, log rb: 2721958641300806892 - test test_generic_panic_with_error_type_enum_different_variant_same_revert_code ... ok (???, 750 gas) + test test_generic_panic_with_error_type_enum_different_variant_same_revert_code ... ok (???, 749 gas) revert code: 8200000000000000 ├─ panic message: Error A. ├─ panic value: A @@ -282,7 +282,7 @@ A, log rb: 2721958641300806892 ├─ panic message: panic with string └─ panicked: in panicking_lib::test_panic_with_str └─ at panicking_lib, src/lib.sw:123:5 - test test_panic_with_error_type_enum ... ok (???, 855 gas) + test test_panic_with_error_type_enum ... ok (???, 854 gas) revert code: 8400000000000000 ├─ panic message: Error C. ├─ panic value: C(true) @@ -297,7 +297,7 @@ C(true), log rb: 2721958641300806892 └─ at panicking_lib, src/lib.sw:133:5 decoded log values: A(42), log rb: 12408470889216862137 - test test_panic_with_nested_generic_error_type ... ok (???, 1030 gas) + test test_panic_with_nested_generic_error_type ... ok (???, 1029 gas) revert code: 8500000000000000 ├─ panic value: B(B(C(true))) └─ panicked: in panicking_lib::test_panic_with_nested_generic_error_type @@ -311,7 +311,7 @@ B(B(C(true))), log rb: 14988555917426256081 └─ at panicking_lib, src/lib.sw:143:5 decoded log values: A(42), log rb: 17388243649088655852 - test test_panic_with_nested_generic_error_type_enum_with_abi_encode ... ok (???, 1030 gas) + test test_panic_with_nested_generic_error_type_enum_with_abi_encode ... ok (???, 1029 gas) revert code: 8600000000000000 ├─ panic value: B(B(C(true))) └─ panicked: in panicking_lib::test_panic_with_nested_generic_error_type_enum_with_abi_encode diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_script/stdout.snap b/test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_script/stdout.snap index 9af6f72b803..678646f0ac1 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_script/stdout.snap +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_script/stdout.snap @@ -8,7 +8,7 @@ output: Compiling library std (test/src/e2e_vm_tests/reduced_std_libs/sway-lib-std-core) Compiling library panicking_lib (test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_lib) Compiling script panicking_script (test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_script) - Finished debug [unoptimized + fuel] target(s) [3.616 KB] in ??? + Finished debug [unoptimized + fuel] target(s) [3.608 KB] in ??? Running 11 tests, filtered 0 tests tested -- panicking_script @@ -21,7 +21,7 @@ tested -- panicking_script └─ at panicking_script, src/main.sw:6:5 decoded log values: C(true), log rb: 5503570629422409978 - test test_nested_panic_inlined ... ok (???, 1470 gas) + test test_nested_panic_inlined ... ok (???, 1469 gas) revert code: 8080000000001001 ├─ panic message: Error E. ├─ panic value: E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString { data: "in error enum variants" }]) @@ -33,7 +33,7 @@ C(true), log rb: 5503570629422409978 └─ at panicking_script, src/main.sw:16:5 decoded log values: E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString { data: "in error enum variants" }]), log rb: 5503570629422409978 - test test_nested_panic_inlined_same_revert_code ... ok (???, 1470 gas) + test test_nested_panic_inlined_same_revert_code ... ok (???, 1469 gas) revert code: 8080000000001801 ├─ panic message: Error E. ├─ panic value: E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString { data: "in error enum variants" }]) @@ -45,7 +45,7 @@ E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString └─ at panicking_script, src/main.sw:21:5 decoded log values: E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString { data: "in error enum variants" }]), log rb: 5503570629422409978 - test test_nested_panic_non_inlined ... ok (???, 1487 gas) + test test_nested_panic_non_inlined ... ok (???, 1485 gas) revert code: 8100000000002804 ├─ panic message: Error E. ├─ panic value: E([AsciiString { data: "this" }, AsciiString { data: "is not" }, AsciiString { data: "the best practice" }]) @@ -57,7 +57,7 @@ E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString └─ at panicking_script, src/main.sw:26:5 decoded log values: E([AsciiString { data: "this" }, AsciiString { data: "is not" }, AsciiString { data: "the best practice" }]), log rb: 5503570629422409978 - test test_nested_panic_non_inlined_same_revert_code ... ok (???, 1487 gas) + test test_nested_panic_non_inlined_same_revert_code ... ok (???, 1485 gas) revert code: 8100000000003004 ├─ panic message: Error E. ├─ panic value: E([AsciiString { data: "this" }, AsciiString { data: "is not" }, AsciiString { data: "the best practice" }]) @@ -137,7 +137,7 @@ output: Compiling library std (test/src/e2e_vm_tests/reduced_std_libs/sway-lib-std-core) Compiling library panicking_lib (test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_lib) Compiling script panicking_script (test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_script) - Finished release [optimized + fuel] target(s) [2.76 KB] in ??? + Finished release [optimized + fuel] target(s) [2.752 KB] in ??? Running 11 tests, filtered 0 tests tested -- panicking_script @@ -166,7 +166,7 @@ E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString └─ at panicking_lib, src/lib.sw:35:5 decoded log values: E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString { data: "in error enum variants" }]), log rb: 5503570629422409978 - test test_nested_panic_non_inlined ... ok (???, 1276 gas) + test test_nested_panic_non_inlined ... ok (???, 1275 gas) revert code: 8100000000000000 ├─ panic message: Error E. ├─ panic value: E([AsciiString { data: "this" }, AsciiString { data: "is not" }, AsciiString { data: "the best practice" }]) @@ -174,7 +174,7 @@ E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString └─ at panicking_lib, src/lib.sw:41:9 decoded log values: E([AsciiString { data: "this" }, AsciiString { data: "is not" }, AsciiString { data: "the best practice" }]), log rb: 5503570629422409978 - test test_nested_panic_non_inlined_same_revert_code ... ok (???, 1276 gas) + test test_nested_panic_non_inlined_same_revert_code ... ok (???, 1275 gas) revert code: 8100000000000000 ├─ panic message: Error E. ├─ panic value: E([AsciiString { data: "this" }, AsciiString { data: "is not" }, AsciiString { data: "the best practice" }]) diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/optimisations/no_locbase/stdout.snap b/test/src/e2e_vm_tests/test_programs/should_pass/optimisations/no_locbase/stdout.snap index af676190bd8..0e580c1679a 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/optimisations/no_locbase/stdout.snap +++ b/test/src/e2e_vm_tests/test_programs/should_pass/optimisations/no_locbase/stdout.snap @@ -575,25 +575,22 @@ jal $zero $$reta i0 ; [fn end: check_no_locals_no_call_args_spills_24] - -pshh i530432 ; [fn init: check_no_locals_call_args_no_spills_28]: push used high registers 40..64 +pshh i528384 ; [fn init: check_no_locals_call_args_no_spills_28]: push used high registers 40..64 move $$locbase $sp ; [fn init: check_no_locals_call_args_no_spills_28]: set locals base register cfei i24 ; [fn init: check_no_locals_call_args_no_spills_28]: allocate: locals 0 byte(s), call args 3 slot(s) -move $r0 $$arg0 ; [fn init: check_no_locals_call_args_no_spills_28]: copy argument 0 (a) -move $r1 $$reta ; [fn init: check_no_locals_call_args_no_spills_28]: save return address +move $r0 $$reta ; [fn init: check_no_locals_call_args_no_spills_28]: save return address addi $$arg5 $$locbase i0 ; [call: need_call_args_on_stack_29]: save address of stack arguments in last argument register -move $$arg0 $r0 ; [call: need_call_args_on_stack_29]: pass argument 0 -move $$arg1 $r0 ; [call: need_call_args_on_stack_29]: pass argument 1 -move $$arg2 $r0 ; [call: need_call_args_on_stack_29]: pass argument 2 -move $$arg3 $r0 ; [call: need_call_args_on_stack_29]: pass argument 3 -move $$arg4 $r0 ; [call: need_call_args_on_stack_29]: pass argument 4 -sw $$locbase $r0 i0 ; [call: need_call_args_on_stack_29]: pass argument 5 via its stack slot -sw $$locbase $r0 i1 ; [call: need_call_args_on_stack_29]: pass argument 6 via its stack slot -sw $$locbase $r0 i2 ; [call: need_call_args_on_stack_29]: pass argument 7 via its stack slot +move $$arg1 $$arg0 ; [call: need_call_args_on_stack_29]: pass argument 1 +move $$arg2 $$arg0 ; [call: need_call_args_on_stack_29]: pass argument 2 +move $$arg3 $$arg0 ; [call: need_call_args_on_stack_29]: pass argument 3 +move $$arg4 $$arg0 ; [call: need_call_args_on_stack_29]: pass argument 4 +sw $$locbase $$arg0 i0 ; [call: need_call_args_on_stack_29]: pass argument 5 via its stack slot +sw $$locbase $$arg0 i1 ; [call: need_call_args_on_stack_29]: pass argument 6 via its stack slot +sw $$locbase $$arg0 i2 ; [call: need_call_args_on_stack_29]: pass argument 7 via its stack slot jal $$reta $pc i5 ; [call: need_call_args_on_stack_29]: call function cfsi i24 ; [fn end: check_no_locals_call_args_no_spills_28] free: locals 0 byte(s), call args 3 slot(s) -move $$reta $r1 ; [fn end: check_no_locals_call_args_no_spills_28] restore return address -poph i530432 ; [fn end: check_no_locals_call_args_no_spills_28]: restore used high registers 40..64 +move $$reta $r0 ; [fn end: check_no_locals_call_args_no_spills_28] restore return address +poph i528384 ; [fn end: check_no_locals_call_args_no_spills_28]: restore used high registers 40..64 jal $zero $$reta i0 ; [fn end: check_no_locals_call_args_no_spills_28] return from call @@ -608,407 +605,398 @@ sw $$locbase $r0 i3 ; [spill/refill]: spill move $r0 $$reta ; [fn init: check_no_locals_call_args_spills_30]: save return address sw $$locbase $r0 i4 ; [spill/refill]: spill addi $$arg5 $$locbase i0 ; [call: need_call_args_on_stack_29]: save address of stack arguments in last argument register -lw $r0 $$locbase i3 ; [spill/refill]: refill from spill -move $$arg0 $r0 ; [call: need_call_args_on_stack_29]: pass argument 0 -lw $r0 $$locbase i3 ; [spill/refill]: refill from spill -move $$arg1 $r0 ; [call: need_call_args_on_stack_29]: pass argument 1 -lw $r0 $$locbase i3 ; [spill/refill]: refill from spill -move $$arg2 $r0 ; [call: need_call_args_on_stack_29]: pass argument 2 -lw $r0 $$locbase i3 ; [spill/refill]: refill from spill -move $$arg3 $r0 ; [call: need_call_args_on_stack_29]: pass argument 3 -lw $r0 $$locbase i3 ; [spill/refill]: refill from spill -move $$arg4 $r0 ; [call: need_call_args_on_stack_29]: pass argument 4 -lw $r0 $$locbase i3 ; [spill/refill]: refill from spill -sw $$locbase $r0 i0 ; [call: need_call_args_on_stack_29]: pass argument 5 via its stack slot -lw $r0 $$locbase i3 ; [spill/refill]: refill from spill -sw $$locbase $r0 i1 ; [call: need_call_args_on_stack_29]: pass argument 6 via its stack slot -lw $r0 $$locbase i3 ; [spill/refill]: refill from spill -sw $$locbase $r0 i2 ; [call: need_call_args_on_stack_29]: pass argument 7 via its stack slot -subi $$tmp $pc i152 ; load far jump target address +move $$arg1 $$arg0 ; [call: need_call_args_on_stack_29]: pass argument 1 +move $$arg2 $$arg0 ; [call: need_call_args_on_stack_29]: pass argument 2 +move $$arg3 $$arg0 ; [call: need_call_args_on_stack_29]: pass argument 3 +move $$arg4 $$arg0 ; [call: need_call_args_on_stack_29]: pass argument 4 +sw $$locbase $$arg0 i0 ; [call: need_call_args_on_stack_29]: pass argument 5 via its stack slot +sw $$locbase $$arg0 i1 ; [call: need_call_args_on_stack_29]: pass argument 6 via its stack slot +sw $$locbase $$arg0 i2 ; [call: need_call_args_on_stack_29]: pass argument 7 via its stack slot +subi $$tmp $pc i116 ; load far jump target address jal $$reta $$tmp i0 ; [call: need_call_args_on_stack_29]: call function move $r0 $$retv ; [call: need_call_args_on_stack_29]: copy returned value sw $$locbase $r0 i5 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i288 ; load far jump target address +subi $$tmp $pc i244 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i6 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i312 ; load far jump target address +subi $$tmp $pc i268 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i7 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i336 ; load far jump target address +subi $$tmp $pc i292 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i8 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i360 ; load far jump target address +subi $$tmp $pc i316 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i9 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i384 ; load far jump target address +subi $$tmp $pc i340 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i10 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i408 ; load far jump target address +subi $$tmp $pc i364 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i11 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i432 ; load far jump target address +subi $$tmp $pc i388 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i12 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i456 ; load far jump target address +subi $$tmp $pc i412 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i13 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i480 ; load far jump target address +subi $$tmp $pc i436 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i14 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i504 ; load far jump target address +subi $$tmp $pc i460 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i15 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i528 ; load far jump target address +subi $$tmp $pc i484 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i16 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i552 ; load far jump target address +subi $$tmp $pc i508 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i17 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i576 ; load far jump target address +subi $$tmp $pc i532 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i18 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i600 ; load far jump target address +subi $$tmp $pc i556 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i19 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i624 ; load far jump target address +subi $$tmp $pc i580 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i20 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i648 ; load far jump target address +subi $$tmp $pc i604 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i21 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i672 ; load far jump target address +subi $$tmp $pc i628 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i22 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i696 ; load far jump target address +subi $$tmp $pc i652 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i23 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i720 ; load far jump target address +subi $$tmp $pc i676 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i24 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i744 ; load far jump target address +subi $$tmp $pc i700 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i25 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i768 ; load far jump target address +subi $$tmp $pc i724 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i26 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i792 ; load far jump target address +subi $$tmp $pc i748 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i27 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i816 ; load far jump target address +subi $$tmp $pc i772 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i28 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i840 ; load far jump target address +subi $$tmp $pc i796 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i29 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i864 ; load far jump target address +subi $$tmp $pc i820 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i30 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i888 ; load far jump target address +subi $$tmp $pc i844 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i31 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i912 ; load far jump target address +subi $$tmp $pc i868 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i32 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i936 ; load far jump target address +subi $$tmp $pc i892 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i33 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i960 ; load far jump target address +subi $$tmp $pc i916 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i34 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i984 ; load far jump target address +subi $$tmp $pc i940 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i35 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1008 ; load far jump target address +subi $$tmp $pc i964 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i36 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1032 ; load far jump target address +subi $$tmp $pc i988 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i37 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1056 ; load far jump target address +subi $$tmp $pc i1012 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i38 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1080 ; load far jump target address +subi $$tmp $pc i1036 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i39 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1104 ; load far jump target address +subi $$tmp $pc i1060 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i40 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1128 ; load far jump target address +subi $$tmp $pc i1084 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i41 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1152 ; load far jump target address +subi $$tmp $pc i1108 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i42 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1176 ; load far jump target address +subi $$tmp $pc i1132 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i43 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1200 ; load far jump target address +subi $$tmp $pc i1156 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i44 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1224 ; load far jump target address +subi $$tmp $pc i1180 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i45 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1248 ; load far jump target address +subi $$tmp $pc i1204 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i46 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1272 ; load far jump target address +subi $$tmp $pc i1228 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i47 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1296 ; load far jump target address +subi $$tmp $pc i1252 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i48 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1320 ; load far jump target address +subi $$tmp $pc i1276 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i49 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1344 ; load far jump target address +subi $$tmp $pc i1300 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i50 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1368 ; load far jump target address +subi $$tmp $pc i1324 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i51 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1392 ; load far jump target address +subi $$tmp $pc i1348 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i52 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1416 ; load far jump target address +subi $$tmp $pc i1372 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i53 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1440 ; load far jump target address +subi $$tmp $pc i1396 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i54 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1464 ; load far jump target address +subi $$tmp $pc i1420 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i55 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1488 ; load far jump target address +subi $$tmp $pc i1444 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i56 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1512 ; load far jump target address +subi $$tmp $pc i1468 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i57 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1536 ; load far jump target address +subi $$tmp $pc i1492 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i58 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1560 ; load far jump target address +subi $$tmp $pc i1516 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i59 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1584 ; load far jump target address +subi $$tmp $pc i1540 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i60 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1608 ; load far jump target address +subi $$tmp $pc i1564 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i61 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1632 ; load far jump target address +subi $$tmp $pc i1588 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i62 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1656 ; load far jump target address +subi $$tmp $pc i1612 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i63 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1680 ; load far jump target address +subi $$tmp $pc i1636 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i64 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1704 ; load far jump target address +subi $$tmp $pc i1660 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i65 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1728 ; load far jump target address +subi $$tmp $pc i1684 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i66 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1752 ; load far jump target address +subi $$tmp $pc i1708 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i67 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1776 ; load far jump target address +subi $$tmp $pc i1732 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i68 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1800 ; load far jump target address +subi $$tmp $pc i1756 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i69 ; [spill/refill]: spill @@ -1016,272 +1004,272 @@ lw $r0 $$locbase i5 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: add_26]: pass argument 0 lw $r0 $$locbase i6 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i1816 ; load far jump target address +subi $$tmp $pc i1772 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i7 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i1836 ; load far jump target address +subi $$tmp $pc i1792 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i8 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i1856 ; load far jump target address +subi $$tmp $pc i1812 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i9 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i1876 ; load far jump target address +subi $$tmp $pc i1832 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i10 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i1896 ; load far jump target address +subi $$tmp $pc i1852 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i11 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i1916 ; load far jump target address +subi $$tmp $pc i1872 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i12 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i1936 ; load far jump target address +subi $$tmp $pc i1892 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i13 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i1956 ; load far jump target address +subi $$tmp $pc i1912 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i14 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i1976 ; load far jump target address +subi $$tmp $pc i1932 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i15 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i1996 ; load far jump target address +subi $$tmp $pc i1952 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i16 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2016 ; load far jump target address +subi $$tmp $pc i1972 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i17 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2036 ; load far jump target address +subi $$tmp $pc i1992 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i18 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2056 ; load far jump target address +subi $$tmp $pc i2012 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i19 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2076 ; load far jump target address +subi $$tmp $pc i2032 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i20 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2096 ; load far jump target address +subi $$tmp $pc i2052 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i21 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2116 ; load far jump target address +subi $$tmp $pc i2072 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i22 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2136 ; load far jump target address +subi $$tmp $pc i2092 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i23 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2156 ; load far jump target address +subi $$tmp $pc i2112 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i24 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2176 ; load far jump target address +subi $$tmp $pc i2132 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i25 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2196 ; load far jump target address +subi $$tmp $pc i2152 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i26 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2216 ; load far jump target address +subi $$tmp $pc i2172 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i27 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2236 ; load far jump target address +subi $$tmp $pc i2192 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i28 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2256 ; load far jump target address +subi $$tmp $pc i2212 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i29 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2276 ; load far jump target address +subi $$tmp $pc i2232 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i30 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2296 ; load far jump target address +subi $$tmp $pc i2252 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i31 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2316 ; load far jump target address +subi $$tmp $pc i2272 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i32 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2336 ; load far jump target address +subi $$tmp $pc i2292 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i33 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2356 ; load far jump target address +subi $$tmp $pc i2312 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i34 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2376 ; load far jump target address +subi $$tmp $pc i2332 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i35 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2396 ; load far jump target address +subi $$tmp $pc i2352 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i36 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2416 ; load far jump target address +subi $$tmp $pc i2372 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i37 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2436 ; load far jump target address +subi $$tmp $pc i2392 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i38 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2456 ; load far jump target address +subi $$tmp $pc i2412 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i39 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2476 ; load far jump target address +subi $$tmp $pc i2432 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i40 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2496 ; load far jump target address +subi $$tmp $pc i2452 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i41 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2516 ; load far jump target address +subi $$tmp $pc i2472 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i42 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2536 ; load far jump target address +subi $$tmp $pc i2492 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i43 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2556 ; load far jump target address +subi $$tmp $pc i2512 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2576 ; load far jump target address +subi $$tmp $pc i2532 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i45 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2596 ; load far jump target address +subi $$tmp $pc i2552 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i46 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2616 ; load far jump target address +subi $$tmp $pc i2572 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i47 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2636 ; load far jump target address +subi $$tmp $pc i2592 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i48 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2656 ; load far jump target address +subi $$tmp $pc i2612 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i49 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2676 ; load far jump target address +subi $$tmp $pc i2632 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i50 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2696 ; load far jump target address +subi $$tmp $pc i2652 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i51 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2716 ; load far jump target address +subi $$tmp $pc i2672 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i52 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2736 ; load far jump target address +subi $$tmp $pc i2692 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i53 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2756 ; load far jump target address +subi $$tmp $pc i2712 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i54 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2776 ; load far jump target address +subi $$tmp $pc i2732 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i55 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2796 ; load far jump target address +subi $$tmp $pc i2752 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i56 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2816 ; load far jump target address +subi $$tmp $pc i2772 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i57 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2836 ; load far jump target address +subi $$tmp $pc i2792 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i58 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2856 ; load far jump target address +subi $$tmp $pc i2812 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i59 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2876 ; load far jump target address +subi $$tmp $pc i2832 ; load far jump target address jal $$reta $$tmp i0 ; [call: add_26]: call function lw $r0 $$locbase i60 ; [spill/refill]: refill from spill add $r1 $$retv $r0 @@ -1332,15 +1320,14 @@ cfei i24 ; [fn init: check_locals_call_args_no_spills_32]: move $r0 $$arg0 ; [fn init: check_locals_call_args_no_spills_32]: copy argument 0 (a) move $r1 $$reta ; [fn init: check_locals_call_args_no_spills_32]: save return address addi $$arg5 $$locbase i0 ; [call: need_call_args_on_stack_29]: save address of stack arguments in last argument register -move $$arg0 $r0 ; [call: need_call_args_on_stack_29]: pass argument 0 -move $$arg1 $r0 ; [call: need_call_args_on_stack_29]: pass argument 1 -move $$arg2 $r0 ; [call: need_call_args_on_stack_29]: pass argument 2 -move $$arg3 $r0 ; [call: need_call_args_on_stack_29]: pass argument 3 -move $$arg4 $r0 ; [call: need_call_args_on_stack_29]: pass argument 4 -sw $$locbase $r0 i0 ; [call: need_call_args_on_stack_29]: pass argument 5 via its stack slot -sw $$locbase $r0 i1 ; [call: need_call_args_on_stack_29]: pass argument 6 via its stack slot -sw $$locbase $r0 i2 ; [call: need_call_args_on_stack_29]: pass argument 7 via its stack slot -subi $$tmp $pc i2992 ; load far jump target address +move $$arg1 $$arg0 ; [call: need_call_args_on_stack_29]: pass argument 1 +move $$arg2 $$arg0 ; [call: need_call_args_on_stack_29]: pass argument 2 +move $$arg3 $$arg0 ; [call: need_call_args_on_stack_29]: pass argument 3 +move $$arg4 $$arg0 ; [call: need_call_args_on_stack_29]: pass argument 4 +sw $$locbase $$arg0 i0 ; [call: need_call_args_on_stack_29]: pass argument 5 via its stack slot +sw $$locbase $$arg0 i1 ; [call: need_call_args_on_stack_29]: pass argument 6 via its stack slot +sw $$locbase $$arg0 i2 ; [call: need_call_args_on_stack_29]: pass argument 7 via its stack slot +subi $$tmp $pc i2952 ; load far jump target address jal $$reta $$tmp i0 ; [call: need_call_args_on_stack_29]: call function add $r2 $$retv $r0 add $r2 $r2 $r0 @@ -1368,458 +1355,446 @@ sw $$locbase $r0 i3 ; [spill/refill]: spill move $r0 $$reta ; [fn init: check_locals_call_args_spills_33]: save return address sw $$locbase $r0 i4 ; [spill/refill]: spill addi $$arg5 $$locbase i0 ; [call: need_call_args_on_stack_29]: save address of stack arguments in last argument register -lw $r0 $$locbase i3 ; [spill/refill]: refill from spill -move $$arg0 $r0 ; [call: need_call_args_on_stack_29]: pass argument 0 -lw $r0 $$locbase i3 ; [spill/refill]: refill from spill -move $$arg1 $r0 ; [call: need_call_args_on_stack_29]: pass argument 1 -lw $r0 $$locbase i3 ; [spill/refill]: refill from spill -move $$arg2 $r0 ; [call: need_call_args_on_stack_29]: pass argument 2 -lw $r0 $$locbase i3 ; [spill/refill]: refill from spill -move $$arg3 $r0 ; [call: need_call_args_on_stack_29]: pass argument 3 -lw $r0 $$locbase i3 ; [spill/refill]: refill from spill -move $$arg4 $r0 ; [call: need_call_args_on_stack_29]: pass argument 4 -lw $r0 $$locbase i3 ; [spill/refill]: refill from spill -sw $$locbase $r0 i0 ; [call: need_call_args_on_stack_29]: pass argument 5 via its stack slot -lw $r0 $$locbase i3 ; [spill/refill]: refill from spill -sw $$locbase $r0 i1 ; [call: need_call_args_on_stack_29]: pass argument 6 via its stack slot -lw $r0 $$locbase i3 ; [spill/refill]: refill from spill -sw $$locbase $r0 i2 ; [call: need_call_args_on_stack_29]: pass argument 7 via its stack slot -subi $$tmp $pc i3148 ; load far jump target address +move $$arg1 $$arg0 ; [call: need_call_args_on_stack_29]: pass argument 1 +move $$arg2 $$arg0 ; [call: need_call_args_on_stack_29]: pass argument 2 +move $$arg3 $$arg0 ; [call: need_call_args_on_stack_29]: pass argument 3 +move $$arg4 $$arg0 ; [call: need_call_args_on_stack_29]: pass argument 4 +sw $$locbase $$arg0 i0 ; [call: need_call_args_on_stack_29]: pass argument 5 via its stack slot +sw $$locbase $$arg0 i1 ; [call: need_call_args_on_stack_29]: pass argument 6 via its stack slot +sw $$locbase $$arg0 i2 ; [call: need_call_args_on_stack_29]: pass argument 7 via its stack slot +subi $$tmp $pc i3072 ; load far jump target address jal $$reta $$tmp i0 ; [call: need_call_args_on_stack_29]: call function move $r0 $$retv ; [call: need_call_args_on_stack_29]: copy returned value sw $$locbase $r0 i5 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3284 ; load far jump target address +subi $$tmp $pc i3200 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i6 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3308 ; load far jump target address +subi $$tmp $pc i3224 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i7 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3332 ; load far jump target address +subi $$tmp $pc i3248 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i8 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3356 ; load far jump target address +subi $$tmp $pc i3272 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i9 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3380 ; load far jump target address +subi $$tmp $pc i3296 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i10 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3404 ; load far jump target address +subi $$tmp $pc i3320 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i11 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3428 ; load far jump target address +subi $$tmp $pc i3344 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i12 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3452 ; load far jump target address +subi $$tmp $pc i3368 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i13 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3476 ; load far jump target address +subi $$tmp $pc i3392 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i14 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3500 ; load far jump target address +subi $$tmp $pc i3416 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i15 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3524 ; load far jump target address +subi $$tmp $pc i3440 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i16 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3548 ; load far jump target address +subi $$tmp $pc i3464 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i17 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3572 ; load far jump target address +subi $$tmp $pc i3488 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function -noop ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i18 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3600 ; load far jump target address +subi $$tmp $pc i3512 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function -noop ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i19 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3628 ; load far jump target address +subi $$tmp $pc i3536 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function -noop ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i20 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3656 ; load far jump target address +subi $$tmp $pc i3560 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function noop ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i21 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3684 ; load far jump target address +subi $$tmp $pc i3588 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function noop ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i22 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3712 ; load far jump target address +subi $$tmp $pc i3616 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function noop ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i23 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3740 ; load far jump target address +subi $$tmp $pc i3644 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function noop ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i24 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3768 ; load far jump target address +subi $$tmp $pc i3672 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function noop ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i25 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3796 ; load far jump target address +subi $$tmp $pc i3700 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function noop ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i26 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3824 ; load far jump target address +subi $$tmp $pc i3728 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function noop ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i27 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3852 ; load far jump target address +subi $$tmp $pc i3756 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function noop ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i28 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3880 ; load far jump target address +subi $$tmp $pc i3784 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function noop ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i29 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3908 ; load far jump target address +subi $$tmp $pc i3812 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function noop ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i30 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3936 ; load far jump target address +subi $$tmp $pc i3840 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function noop ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i31 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3964 ; load far jump target address +subi $$tmp $pc i3868 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function noop ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i32 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3992 ; load far jump target address +subi $$tmp $pc i3896 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function noop ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i33 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i4020 ; load far jump target address +subi $$tmp $pc i3924 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function noop ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i34 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i4048 ; load far jump target address +subi $$tmp $pc i3952 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function noop ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i35 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i4076 ; load far jump target address +subi $$tmp $pc i3980 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function noop ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i36 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4108 ; load call target address -sub $$tmp $pc $$tmp ; load call target address +subi $$tmp $pc i4008 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function +noop ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i37 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4136 ; load call target address -sub $$tmp $pc $$tmp ; load call target address +subi $$tmp $pc i4036 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function +noop ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i38 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4164 ; load call target address -sub $$tmp $pc $$tmp ; load call target address +subi $$tmp $pc i4064 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function +noop ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i39 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4192 ; load call target address -sub $$tmp $pc $$tmp ; load call target address +subi $$tmp $pc i4092 ; load far jump target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function +noop ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i40 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4220 ; load call target address +movi $$tmp i4124 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i41 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4248 ; load call target address +movi $$tmp i4152 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i42 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4276 ; load call target address +movi $$tmp i4180 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i43 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4304 ; load call target address +movi $$tmp i4208 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i44 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4332 ; load call target address +movi $$tmp i4236 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i45 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4360 ; load call target address +movi $$tmp i4264 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i46 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4388 ; load call target address +movi $$tmp i4292 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i47 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4416 ; load call target address +movi $$tmp i4320 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i48 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4444 ; load call target address +movi $$tmp i4348 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i49 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4472 ; load call target address +movi $$tmp i4376 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i50 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4500 ; load call target address +movi $$tmp i4404 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i51 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4528 ; load call target address +movi $$tmp i4432 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i52 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4556 ; load call target address +movi $$tmp i4460 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i53 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4584 ; load call target address +movi $$tmp i4488 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i54 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4612 ; load call target address +movi $$tmp i4516 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i55 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4640 ; load call target address +movi $$tmp i4544 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i56 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4668 ; load call target address +movi $$tmp i4572 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i57 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4696 ; load call target address +movi $$tmp i4600 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i58 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4724 ; load call target address +movi $$tmp i4628 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i59 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4752 ; load call target address +movi $$tmp i4656 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i60 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4780 ; load call target address +movi $$tmp i4684 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i61 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4808 ; load call target address +movi $$tmp i4712 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i62 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4836 ; load call target address +movi $$tmp i4740 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i63 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4864 ; load call target address +movi $$tmp i4768 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i64 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4892 ; load call target address +movi $$tmp i4796 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i65 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4920 ; load call target address +movi $$tmp i4824 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i66 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4948 ; load call target address +movi $$tmp i4852 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i67 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4976 ; load call target address +movi $$tmp i4880 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i68 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i5004 ; load call target address +movi $$tmp i4908 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value @@ -1828,373 +1803,373 @@ lw $r0 $$locbase i5 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: add_26]: pass argument 0 lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5024 ; load call target address +movi $$tmp i4928 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5048 ; load call target address +movi $$tmp i4952 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5072 ; load call target address +movi $$tmp i4976 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5096 ; load call target address +movi $$tmp i5000 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5120 ; load call target address +movi $$tmp i5024 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5144 ; load call target address +movi $$tmp i5048 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5168 ; load call target address +movi $$tmp i5072 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5192 ; load call target address +movi $$tmp i5096 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i6 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5216 ; load call target address +movi $$tmp i5120 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i7 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5240 ; load call target address +movi $$tmp i5144 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i8 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5264 ; load call target address +movi $$tmp i5168 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i9 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5288 ; load call target address +movi $$tmp i5192 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i10 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5312 ; load call target address +movi $$tmp i5216 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i11 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5336 ; load call target address +movi $$tmp i5240 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i12 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5360 ; load call target address +movi $$tmp i5264 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i13 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5384 ; load call target address +movi $$tmp i5288 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i14 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5408 ; load call target address +movi $$tmp i5312 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i15 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5432 ; load call target address +movi $$tmp i5336 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i16 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5456 ; load call target address +movi $$tmp i5360 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i17 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5480 ; load call target address +movi $$tmp i5384 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i18 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5504 ; load call target address +movi $$tmp i5408 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i19 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5528 ; load call target address +movi $$tmp i5432 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i20 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5552 ; load call target address +movi $$tmp i5456 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i21 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5576 ; load call target address +movi $$tmp i5480 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i22 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5600 ; load call target address +movi $$tmp i5504 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i23 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5624 ; load call target address +movi $$tmp i5528 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i24 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5648 ; load call target address +movi $$tmp i5552 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i25 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5672 ; load call target address +movi $$tmp i5576 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i26 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5696 ; load call target address +movi $$tmp i5600 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i27 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5720 ; load call target address +movi $$tmp i5624 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i28 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5744 ; load call target address +movi $$tmp i5648 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i29 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5768 ; load call target address +movi $$tmp i5672 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i30 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5792 ; load call target address +movi $$tmp i5696 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i31 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5816 ; load call target address +movi $$tmp i5720 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i32 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5840 ; load call target address +movi $$tmp i5744 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i33 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5864 ; load call target address +movi $$tmp i5768 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i34 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5888 ; load call target address +movi $$tmp i5792 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i35 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5912 ; load call target address +movi $$tmp i5816 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i36 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5936 ; load call target address +movi $$tmp i5840 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i37 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5960 ; load call target address +movi $$tmp i5864 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i38 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5984 ; load call target address +movi $$tmp i5888 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i39 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6008 ; load call target address +movi $$tmp i5912 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i40 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6032 ; load call target address +movi $$tmp i5936 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i41 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6056 ; load call target address +movi $$tmp i5960 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i42 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6080 ; load call target address +movi $$tmp i5984 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i43 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6104 ; load call target address +movi $$tmp i6008 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6128 ; load call target address +movi $$tmp i6032 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i45 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6152 ; load call target address +movi $$tmp i6056 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i46 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6176 ; load call target address +movi $$tmp i6080 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i47 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6200 ; load call target address +movi $$tmp i6104 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i48 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6224 ; load call target address +movi $$tmp i6128 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i49 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6248 ; load call target address +movi $$tmp i6152 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i50 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6272 ; load call target address +movi $$tmp i6176 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i51 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6296 ; load call target address +movi $$tmp i6200 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i52 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6320 ; load call target address +movi $$tmp i6224 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i53 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6344 ; load call target address +movi $$tmp i6248 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i54 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6368 ; load call target address +movi $$tmp i6272 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i55 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6392 ; load call target address +movi $$tmp i6296 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i56 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6416 ; load call target address +movi $$tmp i6320 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i57 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6440 ; load call target address +movi $$tmp i6344 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i58 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6464 ; load call target address +movi $$tmp i6368 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i59 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6488 ; load call target address +movi $$tmp i6392 ; load call target address sub $$tmp $pc $$tmp ; load call target address jal $$reta $$tmp i0 ; [call: add_26]: call function lw $r0 $$locbase i60 ; [spill/refill]: refill from spill diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/call_basic_storage/src/main.sw b/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/call_basic_storage/src/main.sw index 1bde721169f..ddc629c80fb 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/call_basic_storage/src/main.sw +++ b/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/call_basic_storage/src/main.sw @@ -4,7 +4,7 @@ use basic_storage_abi::{BasicStorage, Quad}; #[cfg(experimental_new_encoding = false)] const CONTRACT_ID = 0x94db39f409a31b9f2ebcadeea44378e419208c20de90f5d8e1e33dc1523754cb; #[cfg(experimental_new_encoding = true)] -const CONTRACT_ID = 0x30c67de2ca14ef44e89867e61b6c4eb73f3dc770295bdc2bf8e9fa3b408c4a50; // AUTO-CONTRACT-ID ../../test_contracts/basic_storage --release +const CONTRACT_ID = 0x03ae5bcc9dda026a0f17c5fdb112adb7769a6e402ebcb4f88f9a2c6e67c16575; // AUTO-CONTRACT-ID ../../test_contracts/basic_storage --release fn main() -> u64 { let addr = abi(BasicStorage, CONTRACT_ID); diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/call_contract_with_type_aliases/src/main.sw b/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/call_contract_with_type_aliases/src/main.sw index d01fa9b006c..4c4232a1702 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/call_contract_with_type_aliases/src/main.sw +++ b/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/call_contract_with_type_aliases/src/main.sw @@ -5,7 +5,7 @@ use contract_with_type_aliases_abi::*; #[cfg(experimental_new_encoding = false)] const CONTRACT_ID = 0x0cbeb6efe3104b460be769bdc4ea101ebf16ccc16f2d7b667ec3e1c7f5ce35b5; #[cfg(experimental_new_encoding = true)] -const CONTRACT_ID = 0x0cfc787a5a26340eb8ff71e29210e5720073f4d5204aee556b3ff31cf0638967; // AUTO-CONTRACT-ID ../../test_contracts/contract_with_type_aliases --release +const CONTRACT_ID = 0xe9236e350bd9f304a8ceee2a0c00454976e1e047cc418ffa04c0a204a677b00a; // AUTO-CONTRACT-ID ../../test_contracts/contract_with_type_aliases --release fn main() { let caller = abi(MyContract, CONTRACT_ID); diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/call_increment_contract/src/main.sw b/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/call_increment_contract/src/main.sw index 71fe92ab770..371b8f2ef84 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/call_increment_contract/src/main.sw +++ b/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/call_increment_contract/src/main.sw @@ -6,7 +6,7 @@ use dynamic_contract_call::*; #[cfg(experimental_new_encoding = false)] const CONTRACT_ID = 0xd1b4047af7ef111c023ab71069e01dc2abfde487c0a0ce1268e4f447e6c6e4c2; #[cfg(experimental_new_encoding = true)] -const CONTRACT_ID = 0x4f0834953dc8cb8eea5eb2f8f0f99198b075f55dee90e8af6e3e6d07325bdea8; // AUTO-CONTRACT-ID ../../test_contracts/increment_contract --release +const CONTRACT_ID = 0xc751c637f18f4be976ed404e9b92ebcfbb9d85eda9f534e34bca40756207b293; // AUTO-CONTRACT-ID ../../test_contracts/increment_contract --release fn main() -> bool { let the_abi = abi(Incrementor, CONTRACT_ID); diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/call_storage_enum/src/main.sw b/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/call_storage_enum/src/main.sw index 7e7f6661cb0..d5081f57dd4 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/call_storage_enum/src/main.sw +++ b/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/call_storage_enum/src/main.sw @@ -5,7 +5,7 @@ use storage_enum_abi::*; #[cfg(experimental_new_encoding = false)] const CONTRACT_ID = 0xc601d11767195485a6654d566c67774134668863d8c797a8c69e8778fb1f89e9; #[cfg(experimental_new_encoding = true)] -const CONTRACT_ID = 0xc85ce02d93990b1e4aa8e02fa7c25d97808a293fcc203acdf07b91d9b882b8c8; // AUTO-CONTRACT-ID ../../test_contracts/storage_enum_contract --release +const CONTRACT_ID = 0xd0f621ef11403bd9fa70f525152291a49ea8231acaadbba0b1721d4581a029bc; // AUTO-CONTRACT-ID ../../test_contracts/storage_enum_contract --release fn main() -> u64 { let caller = abi(StorageEnum, CONTRACT_ID); let res = caller.read_write_enums(); diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/storage_access_caller/src/main.sw b/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/storage_access_caller/src/main.sw index f63dad73fdf..97416cb7918 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/storage_access_caller/src/main.sw +++ b/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/storage_access_caller/src/main.sw @@ -6,7 +6,7 @@ use std::hash::*; #[cfg(experimental_new_encoding = false)] const CONTRACT_ID = 0x3bc28acd66d327b8c1b9624c1fabfc07e9ffa1b5d71c2832c3bfaaf8f4b805e9; #[cfg(experimental_new_encoding = true)] -const CONTRACT_ID = 0xde84d6f8cbc692973be031a0e0e74b033b3517d721fc25db524f44731bf87e33; // AUTO-CONTRACT-ID ../../test_contracts/storage_access_contract --release +const CONTRACT_ID = 0x44fb5ecf519336c35bb7dac8c655a2635932a077ee80f6db390aa0fb31810cf3; // AUTO-CONTRACT-ID ../../test_contracts/storage_access_contract --release fn main() -> bool { let caller = abi(StorageAccess, CONTRACT_ID); diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/const_of_contract_call/stdout.snap b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/const_of_contract_call/stdout.snap index 346c2f42072..03b12e936be 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/const_of_contract_call/stdout.snap +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/const_of_contract_call/stdout.snap @@ -7,7 +7,7 @@ output: Building test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/const_of_contract_call Compiling library std (test/src/e2e_vm_tests/reduced_std_libs/sway-lib-std-vec) Compiling contract const_of_contract_call (test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/const_of_contract_call) - Finished release [optimized + fuel] target(s) [19.176 KB] in ??? + Finished release [optimized + fuel] target(s) [19.112 KB] in ??? Running 33 tests, filtered 0 tests tested -- const_of_contract_call @@ -24,13 +24,13 @@ tested -- const_of_contract_call test cost_of_in_str_8 ... ok (???, 2023 gas) test cost_of_in_str_16 ... ok (???, 2020 gas) test cost_of_in_str_32 ... ok (???, 2030 gas) - test cost_of_in_array_0 ... ok (???, 1544 gas) + test cost_of_in_array_0 ... ok (???, 1539 gas) test cost_of_in_array_1 ... ok (???, 1596 gas) test cost_of_in_array_8 ... ok (???, 2104 gas) test cost_of_in_array_16 ... ok (???, 1636 gas) test cost_of_in_array_32 ... ok (???, 1685 gas) test cost_of_in_array_64 ... ok (???, 1778 gas) - test cost_of_in_tuple_0 ... ok (???, 1514 gas) + test cost_of_in_tuple_0 ... ok (???, 1509 gas) test cost_of_in_tuple_1 ... ok (???, 1631 gas) test cost_of_in_tuple_2 ... ok (???, 1649 gas) test cost_of_in_tuple_3 ... ok (???, 1657 gas) @@ -41,10 +41,10 @@ tested -- const_of_contract_call test in_enum_u64 ... ok (???, 1615 gas) test in_enum_u64_u64 ... ok (???, 1617 gas) test in_enum_u64_u64_u64 ... ok (???, 1629 gas) - test in_vec_trivial ... ok (???, 2678 gas) - test in_vec_not_trivial ... ok (???, 5862 gas) - test order_args_without_trivial_enum ... ok (???, 3043 gas) - test order_args_with_trivial_enum ... ok (???, 3221 gas) + test in_vec_trivial ... ok (???, 2675 gas) + test in_vec_not_trivial ... ok (???, 5861 gas) + test order_args_without_trivial_enum ... ok (???, 3038 gas) + test order_args_with_trivial_enum ... ok (???, 3215 gas) test result: OK. 33 passed; 0 failed; finished in ??? @@ -59,12 +59,12 @@ output: Building test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/const_of_contract_call Compiling library std (test/src/e2e_vm_tests/reduced_std_libs/sway-lib-std-vec) Compiling contract const_of_contract_call (test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/const_of_contract_call) - Finished release [optimized + fuel] target(s) [536 B] in ??? + Finished release [optimized + fuel] target(s) [528 B] in ??? Running 1 test, filtered 0 tests tested -- const_of_contract_call - test isolated_cost_of_in_array_0 ... ok (???, 1375 gas) + test isolated_cost_of_in_array_0 ... ok (???, 1370 gas) test result: OK. 1 passed; 0 failed; finished in ??? @@ -284,7 +284,7 @@ output: tested -- const_of_contract_call - test order_args_without_trivial_enum ... ok (???, 2818 gas) + test order_args_without_trivial_enum ... ok (???, 2815 gas) test result: OK. 1 passed; 0 failed; finished in ??? @@ -304,7 +304,7 @@ output: tested -- const_of_contract_call - test order_args_with_trivial_enum ... ok (???, 2979 gas) + test order_args_with_trivial_enum ... ok (???, 2976 gas) test result: OK. 1 passed; 0 failed; finished in ??? @@ -479,12 +479,12 @@ output: Building test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/const_of_contract_call Compiling library std (test/src/e2e_vm_tests/reduced_std_libs/sway-lib-std-vec) Compiling contract const_of_contract_call (test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/const_of_contract_call) - Finished release [optimized + fuel] target(s) [472 B] in ??? + Finished release [optimized + fuel] target(s) [456 B] in ??? Running 1 test, filtered 0 tests tested -- const_of_contract_call - test isolated_cost_of_in_tuple_0 ... ok (???, 1331 gas) + test isolated_cost_of_in_tuple_0 ... ok (???, 1326 gas) test result: OK. 1 passed; 0 failed; finished in ???