@@ -10,7 +10,7 @@ use openvm_circuit::{
1010 } ,
1111} ;
1212use openvm_circuit_primitives:: var_range:: VariableRangeCheckerChip ;
13- use openvm_instructions:: { instruction:: Instruction , riscv:: RV32_REGISTER_AS , LocalOpcode } ;
13+ use openvm_instructions:: { instruction:: Instruction , riscv:: RV32_REGISTER_AS , LocalOpcode , NATIVE_AS } ;
1414use openvm_rv32im_transpiler:: Rv32LoadStoreOpcode :: { self , * } ;
1515use openvm_stark_backend:: {
1616 p3_air:: BaseAir ,
@@ -131,7 +131,8 @@ fn set_and_execute<RA: Arena, E: PreflightExecutor<F, RA>>(
131131 let mem_as = mem_as. unwrap_or ( if is_load {
132132 2
133133 } else {
134- * [ 2 , 3 , 4 ] . choose ( rng) . unwrap ( )
134+ // Avoid Native AS while access adapters are disabled.
135+ * [ 2 , 3 ] . choose ( rng) . unwrap ( )
135136 } ) ;
136137
137138 let shift_amount = ptr_val % 4 ;
@@ -215,10 +216,13 @@ fn rand_loadstore_test(opcode: Rv32LoadStoreOpcode, num_ops: usize) {
215216 let mut rng = create_seeded_rng ( ) ;
216217 let mut mem_config = MemoryConfig :: default ( ) ;
217218 mem_config. addr_spaces [ RV32_REGISTER_AS as usize ] . num_cells = 1 << 29 ;
219+ mem_config. addr_spaces [ NATIVE_AS as usize ] . num_cells = 0 ;
218220 if [ STOREW , STOREB , STOREH ] . contains ( & opcode) {
219221 mem_config. addr_spaces [ PUBLIC_VALUES_AS as usize ] . num_cells = 1 << 29 ;
220222 }
221- let mut tester = VmChipTestBuilder :: volatile ( mem_config) ;
223+ // Use persistent memory so initial block size matches the 4-byte alignment and
224+ // avoids access-adapter split/merge paths when adapters are disabled.
225+ let mut tester = VmChipTestBuilder :: persistent ( mem_config) ;
222226 let mut harness = create_harness ( & mut tester) ;
223227
224228 for _ in 0 ..num_ops {
@@ -268,10 +272,12 @@ fn run_negative_loadstore_test(
268272 let mut rng = create_seeded_rng ( ) ;
269273 let mut mem_config = MemoryConfig :: default ( ) ;
270274 mem_config. addr_spaces [ RV32_REGISTER_AS as usize ] . num_cells = 1 << 29 ;
275+ mem_config. addr_spaces [ NATIVE_AS as usize ] . num_cells = 0 ;
271276 if [ STOREW , STOREB , STOREH ] . contains ( & opcode) {
272277 mem_config. addr_spaces [ PUBLIC_VALUES_AS as usize ] . num_cells = 1 << 29 ;
273278 }
274- let mut tester = VmChipTestBuilder :: volatile ( mem_config) ;
279+ // Use persistent memory so the min block size matches alignment without needing adapters.
280+ let mut tester = VmChipTestBuilder :: persistent ( mem_config) ;
275281 let mut harness = create_harness ( & mut tester) ;
276282
277283 set_and_execute (
0 commit comments