classfile,core: pick frame compact form by byte delta; honor --no-* flags

StackMapTable compact-vs-extended selection used the instruction delta,
but JVM validity requires the byte offset delta <= 63. Track byte offsets
in convert_frames and branch on byte_delta while keeping the instruction
delta stored (ristretto re-derives bytes).

Pipeline::run ignored config.disable, so --no-* CLI flags had no effect;
gate each pass on config.is_enabled.
This commit is contained in:
Loki 2026-10-08 22:39:22 +02:00
parent c3b8d4dd62
commit a2e4c69210
3 changed files with 56 additions and 17 deletions

View file

@ -87,6 +87,10 @@ impl Pipeline {
for pass in &self.passes {
let id = pass.id();
if !ctx.config.is_enabled(id) {
tracing::info!(target: "noxis", pass = %id, "пасс выключен — пропущен");
continue;
}
tracing::info!(target: "noxis", pass = %id, "пасс запущен");
let result = pass.apply(ctx, program)?;
tracing::info!(