feat: プラグインパスをOS非依存に更新(.so拡張子削除)

- nyash.tomlからすべての.so拡張子を削除
- plugin_loader_v2のresolve_library_pathが自動的に適切な拡張子を追加
  - Linux: .so
  - Windows: .dll
  - macOS: .dylib
- クロスプラットフォーム対応の準備完了
This commit is contained in:
Moe Charm
2025-08-29 23:11:21 +09:00
parent 1eee62a8ea
commit 8e58942726
27 changed files with 701 additions and 159 deletions

View File

@ -75,13 +75,13 @@ pub fn lower_box_call(
b.emit_param_i64(pidx as i64 as usize);
b.emit_host_call(crate::jit::r#extern::collections::SYM_ARRAY_LEN, 1, dst.is_some());
} else {
crate::jit::events::emit(
"hostcall","<jit>",None,None,
crate::jit::events::emit_lower(
serde_json::json!({
"id": crate::jit::r#extern::collections::SYM_ARRAY_LEN,
"decision": "fallback", "reason": "receiver_not_param",
"argc": 1, "arg_types": ["I64(index)"]
})
}),
"hostcall","<jit>"
);
b.emit_const_i64(-1);
b.emit_host_call(crate::jit::r#extern::collections::SYM_ARRAY_LEN, 1, dst.is_some());
@ -159,9 +159,9 @@ pub fn lower_box_call(
}
}
Err(reason) => {
crate::jit::events::emit(
"hostcall","<jit>",None,None,
serde_json::json!({"id": sym, "decision":"fallback", "reason": reason, "argc": observed.len(), "arg_types": arg_types})
crate::jit::events::emit_lower(
serde_json::json!({"id": sym, "decision":"fallback", "reason": reason, "argc": observed.len(), "arg_types": arg_types}),
"hostcall","<jit>"
);
}
}
@ -257,9 +257,9 @@ pub fn lower_box_call(
);
b.emit_host_call(sym, 2, false);
} else {
crate::jit::events::emit(
"hostcall","<jit>",None,None,
serde_json::json!({"id": sym, "decision":"fallback", "reason":"policy_denied_mutating", "argc": args.len()})
crate::jit::events::emit_lower(
serde_json::json!({"id": sym, "decision":"fallback", "reason":"policy_denied_mutating", "argc": args.len()}),
"hostcall","<jit>"
);
}
}
@ -564,9 +564,9 @@ pub fn lower_math_call(
}
}
Err(reason) => {
crate::jit::events::emit(
"hostcall","<jit>",None,None,
serde_json::json!({"id": sym, "decision":"fallback", "reason": reason, "argc": observed_kinds.len(), "arg_types": arg_types})
crate::jit::events::emit_lower(
serde_json::json!({"id": sym, "decision":"fallback", "reason": reason, "argc": observed_kinds.len(), "arg_types": arg_types}),
"hostcall","<jit>"
);
}
}