Skip to content

Commit 6325b49

Browse files
feat: consolidate CairoRunner ctors
1 parent 1c0aee2 commit 6325b49

File tree

11 files changed

+45
-80
lines changed

11 files changed

+45
-80
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ Both branches support Stwo prover opcodes (Blake2s, QM31) since v2.0.0.
1212

1313
#### Upcoming Changes
1414

15+
* feat: consolidate CairoRunner ctors [#2368](https://github.com/starkware-libs/cairo-vm/pull/2368)
16+
1517
* feat: create and use CairoRunConfig as ctor arg for CairoRunner ctors [#2367](https://github.com/starkware-libs/cairo-vm/pull/2367)
1618

1719
* feat: move runner_mode to be a field in StwoCairoRunConfig [#2366](https://github.com/starkware-libs/cairo-vm/pull/2366)

bench/criterion_benchmark.rs

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -27,23 +27,20 @@ fn build_many_runners(c: &mut Criterion) {
2727
let program = Program::from_bytes(program.as_slice(), Some("main")).unwrap();
2828
c.bench_function("build runner", |b| {
2929
b.iter_with_large_drop(|| {
30-
_ = black_box(
31-
CairoRunner::new(
32-
black_box(&program),
33-
black_box(
34-
&Cairo0RunConfig {
35-
layout: LayoutName::starknet_with_keccak,
36-
proof_mode: false,
37-
trace_enabled: false,
38-
disable_trace_padding: false,
39-
..Default::default()
40-
}
41-
.run_config()
42-
.unwrap(),
43-
),
44-
)
45-
.unwrap(),
46-
);
30+
_ = black_box(CairoRunner::new(
31+
black_box(&program),
32+
black_box(
33+
&Cairo0RunConfig {
34+
layout: LayoutName::starknet_with_keccak,
35+
proof_mode: false,
36+
trace_enabled: false,
37+
disable_trace_padding: false,
38+
..Default::default()
39+
}
40+
.run_config()
41+
.unwrap(),
42+
),
43+
));
4744
})
4845
});
4946
}
@@ -67,7 +64,6 @@ fn load_program_data(c: &mut Criterion) {
6764
.run_config()
6865
.unwrap(),
6966
)
70-
.unwrap()
7167
},
7268
|mut runner| _ = black_box(runner.initialize(false).unwrap()),
7369
BatchSize::SmallInput,

bench/iai_benchmark.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,7 @@ fn build_runner() {
4646
}
4747
.run_config()
4848
.unwrap(),
49-
)
50-
.unwrap();
49+
);
5150
core::mem::drop(black_box(runner));
5251
}
5352

@@ -69,7 +68,6 @@ fn build_runner_helper() -> CairoRunner {
6968
.run_config()
7069
.unwrap(),
7170
)
72-
.unwrap()
7371
}
7472

7573
#[library_benchmark]

cairo-vm-cli/src/main.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -291,8 +291,7 @@ mod tests {
291291
}
292292
.run_config()
293293
.unwrap(),
294-
)
295-
.unwrap();
294+
);
296295
let end = cairo_runner
297296
.initialize(false)
298297
.map_err(CairoRunError::Runner)?;

cairo1-run/src/cairo_run.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,7 @@ pub fn cairo_run_program(
277277
)?
278278
};
279279

280-
let mut runner = CairoRunner::new_v2(&program, &cairo_run_config.run_config()?);
280+
let mut runner = CairoRunner::new(&program, &cairo_run_config.run_config()?);
281281
let end = runner.initialize(cairo_run_config.proof_mode)?;
282282
load_arguments(&mut runner, &cairo_run_config, main_func)?;
283283

vm/src/cairo_run.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ pub fn cairo_run_stwo(
135135
let _span = span!(Level::INFO, "cairo run stwo").entered();
136136

137137
let proof_mode = cairo_run_config.runner_mode != RunnerMode::ExecutionMode;
138-
let mut cairo_runner = CairoRunner::new_stwo(program, &cairo_run_config.run_config()?)?;
138+
let mut cairo_runner = CairoRunner::new(program, &cairo_run_config.run_config()?);
139139
cairo_runner.exec_scopes = exec_scopes;
140140

141141
let end = cairo_runner.initialize_stwo(allowed_builtins)?;
@@ -189,7 +189,7 @@ pub fn cairo_run_program_with_initial_scope(
189189
.allow_missing_builtins
190190
.unwrap_or(cairo_run_config.proof_mode);
191191

192-
let mut cairo_runner = CairoRunner::new(program, &cairo_run_config.run_config()?)?;
192+
let mut cairo_runner = CairoRunner::new(program, &cairo_run_config.run_config()?);
193193

194194
cairo_runner.exec_scopes = exec_scopes;
195195

@@ -289,7 +289,7 @@ pub fn cairo_run_pie(
289289
let allow_missing_builtins = cairo_run_config.allow_missing_builtins.unwrap_or_default();
290290

291291
let program = Program::from_stripped_program(&pie.metadata.program);
292-
let mut cairo_runner = CairoRunner::new(&program, &cairo_run_config.run_config()?)?;
292+
let mut cairo_runner = CairoRunner::new(&program, &cairo_run_config.run_config()?);
293293

294294
let end = cairo_runner.initialize(allow_missing_builtins)?;
295295
cairo_runner.vm.finalize_segments_by_cairo_pie(pie);
@@ -343,7 +343,7 @@ pub fn cairo_run_pie(
343343
}
344344

345345
/// Runs a Cairo PIE using the Stwo runtime API.
346-
/// Same as `cairo_run_pie` but uses `new_stwo` + `initialize_stwo` instead of layouts.
346+
/// Same as `cairo_run_pie` but uses [StwoCairoRunConfig] + `initialize_stwo` instead of layouts.
347347
/// Note: Cairo PIEs cannot be run in proof mode.
348348
/// WARNING: As the RunResources are part of the HintProcessor trait, the caller should make sure that
349349
/// the number of steps in the `RunResources` matches that of the `ExecutionResources` in the `CairoPie`.
@@ -364,14 +364,14 @@ pub fn cairo_run_pie_stwo(
364364
pie.run_validity_checks()?;
365365

366366
let program = Program::from_stripped_program(&pie.metadata.program);
367-
let mut cairo_runner = CairoRunner::new_stwo(
367+
let mut cairo_runner = CairoRunner::new(
368368
&program,
369369
&StwoCairoRunConfig {
370370
runner_mode: RunnerMode::ExecutionMode,
371371
..cairo_run_config.clone()
372372
}
373373
.run_config()?,
374-
)?;
374+
);
375375

376376
let end = cairo_runner.initialize_stwo(allowed_builtins)?;
377377
cairo_runner.vm.finalize_segments_by_cairo_pie(pie);
@@ -442,7 +442,7 @@ pub fn cairo_run_fuzzed_program(
442442
.allow_missing_builtins
443443
.unwrap_or(cairo_run_config.proof_mode);
444444

445-
let mut cairo_runner = CairoRunner::new(&program, &cairo_run_config.run_config()?)?;
445+
let mut cairo_runner = CairoRunner::new(&program, &cairo_run_config.run_config()?);
446446

447447
let _end = cairo_runner.initialize(allow_missing_builtins)?;
448448

vm/src/tests/cairo_run_test.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1069,8 +1069,7 @@ fn run_program_with_custom_mod_builtin_params(
10691069
};
10701070
let mut hint_processor = BuiltinHintProcessor::new_empty();
10711071
let program = Program::from_bytes(data, Some(cairo_run_config.entrypoint)).unwrap();
1072-
let mut cairo_runner =
1073-
CairoRunner::new(&program, &cairo_run_config.run_config().unwrap()).unwrap();
1072+
let mut cairo_runner = CairoRunner::new(&program, &cairo_run_config.run_config().unwrap());
10741073

10751074
let end = cairo_runner.initialize(false).unwrap();
10761075
// Modify add_mod & mul_mod params

vm/src/tests/mod.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -115,8 +115,7 @@ fn run_cairo_1_entrypoint(
115115
}
116116
.run_config()
117117
.unwrap(),
118-
)
119-
.unwrap();
118+
);
120119

121120
let program_builtins = get_casm_contract_builtins(&contract_class, entrypoint_offset);
122121
runner
@@ -226,8 +225,7 @@ fn run_cairo_1_entrypoint_with_run_resources(
226225
}
227226
.run_config()
228227
.unwrap(),
229-
)
230-
.unwrap();
228+
);
231229

232230
let program_builtins = get_casm_contract_builtins(&contract_class, entrypoint_offset);
233231
runner

vm/src/utils.rs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,6 @@ pub mod test_utils {
260260
.run_config()
261261
.unwrap(),
262262
)
263-
.unwrap()
264263
};
265264
($program:expr, $layout:expr) => {
266265
crate::vm::runners::cairo_runner::CairoRunner::new(
@@ -275,7 +274,6 @@ pub mod test_utils {
275274
.run_config()
276275
.unwrap(),
277276
)
278-
.unwrap()
279277
};
280278
($program:expr, $layout:expr, $proof_mode:expr) => {
281279
crate::vm::runners::cairo_runner::CairoRunner::new(
@@ -290,7 +288,6 @@ pub mod test_utils {
290288
.run_config()
291289
.unwrap(),
292290
)
293-
.unwrap()
294291
};
295292
($program:expr, $layout:expr, $proof_mode:expr, $trace_enabled:expr) => {
296293
crate::vm::runners::cairo_runner::CairoRunner::new(
@@ -305,7 +302,6 @@ pub mod test_utils {
305302
.run_config()
306303
.unwrap(),
307304
)
308-
.unwrap()
309305
};
310306
}
311307
pub(crate) use cairo_runner;

vm/src/vm/runners/builtin_runner/modulo.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -836,8 +836,7 @@ mod tests {
836836
}
837837
.run_config()
838838
.unwrap(),
839-
)
840-
.unwrap();
839+
);
841840

842841
let end = runner.initialize(false).unwrap();
843842
// Modify add_mod & mul_mod params

0 commit comments

Comments
 (0)