Refine normalized bridge direct path and env guard

This commit is contained in:
nyash-codex
2025-12-11 22:50:23 +09:00
parent a4756f3ce1
commit 12e2f87c6f
7 changed files with 484 additions and 60 deletions

View File

@ -10,6 +10,11 @@ pub(crate) enum NormalizedDevShape {
JsonparserAtoiMini,
}
/// 直接 Normalized→MIR ブリッジで扱う shape を返すdev 限定)。
pub(crate) fn direct_shapes(module: &JoinModule) -> Vec<NormalizedDevShape> {
supported_shapes(module)
}
pub(crate) fn supported_shapes(module: &JoinModule) -> Vec<NormalizedDevShape> {
let mut shapes = Vec::new();
if is_jsonparser_atoi_mini(module) {
@ -27,6 +32,11 @@ pub(crate) fn supported_shapes(module: &JoinModule) -> Vec<NormalizedDevShape> {
shapes
}
#[allow(dead_code)]
pub(crate) fn is_direct_supported(module: &JoinModule) -> bool {
!direct_shapes(module).is_empty()
}
pub(crate) fn is_pattern1_mini(module: &JoinModule) -> bool {
module.is_structured() && find_loop_step(module).is_some()
}