fix(phase-285): restore weak_basic_llvm + complete LLVM detection/quick SSOT

This commit is contained in:
2025-12-26 16:32:37 +09:00
parent ce2baa0d47
commit 606e236d6d
9 changed files with 48 additions and 35 deletions

View File

@ -717,7 +717,7 @@ pub extern "C" fn ny_release_strong(handle: i64) {
if handle > 0 {
// Drop the handle - this decrements the reference count
// and may trigger deallocation if count reaches zero
handles::drop(handle as u64);
nyash_rust::runtime::host_handles::drop_handle(handle as u64);
}
}
@ -1082,7 +1082,6 @@ pub extern "C" fn nyash_float_unbox_to_f64(float_handle: i64) -> f64 {
/// - docs/reference/language/lifecycle.md:179
/// - docs/development/current/main/phases/phase-285/phase-285llvm-1-design.md
#[no_mangle]
#[export_name = "nyrt_weak_new"]
pub extern "C" fn nyrt_weak_new(strong_handle: i64) -> i64 {
use nyash_rust::runtime::host_handles as handles;
use nyash_rust::runtime::weak_handles;
@ -1119,7 +1118,6 @@ pub extern "C" fn nyrt_weak_new(strong_handle: i64) -> i64 {
/// # SSOT
/// - docs/reference/language/lifecycle.md:179
#[no_mangle]
#[export_name = "nyrt_weak_to_strong"]
pub extern "C" fn nyrt_weak_to_strong(weak_handle: i64) -> i64 {
use nyash_rust::runtime::weak_handles;
@ -1140,7 +1138,6 @@ pub extern "C" fn nyrt_weak_to_strong(weak_handle: i64) -> i64 {
/// # Note
/// Called when WeakRef goes out of scope (LLVM backend cleanup)
#[no_mangle]
#[export_name = "nyrt_weak_drop"]
pub extern "C" fn nyrt_weak_drop(weak_handle: i64) {
use nyash_rust::runtime::weak_handles;