LLVM backend improvements: - Add native LLVM backend support (NYASH_LLVM_BACKEND=native) - Add crate backend selector with priority (crate > llvmlite) - Add native_llvm_builder.py for native IR generation - Add NYASH_LLVM_NATIVE_TRACE=1 for IR dump MIR builder enhancements: - Refactor lower_if_compare_* boxes for better code generation - Refactor lower_return_* boxes for optimized returns - Refactor lower_loop_* boxes for loop handling - Refactor lower_method_* boxes for method calls - Update pattern_util_box for better pattern matching Smoke tests: - Add phase2100 S3 backend selector tests (17 new tests) - Add phase2120 native backend tests (4 new tests) - Add phase2034 MIR builder internal tests (2 new tests) - Add phase2211 TLV shim parity test Documentation: - Update ENV_VARS.md with LLVM backend variables - Update CURRENT_TASK.md with progress - Update README.md and CHANGELOG.md Config: - Add NYASH_LLVM_BACKEND env support in src/config/env.rs - Update ny_mir_builder.sh for backend selection - Update dispatch.rs for backend routing Tools: - Add tools/native_llvm_builder.py - Update smokes/v2/profiles/quick/core/phase2100/run_all.sh Known: Many Hako builder internal files modified for optimization
23 lines
705 B
C
23 lines
705 B
C
#include <stdio.h>
|
|
#include <stdint.h>
|
|
|
|
// Minimal C runtime symbols (design-stage). These provide a safe, tiny set of
|
|
// externs for experiments; real NyKernel remains authoritative.
|
|
|
|
// Print: accept pointer (may be NULL). Returns 0 on success.
|
|
long nyash_console_log(char* p) {
|
|
(void)p;
|
|
puts("hello");
|
|
return 0;
|
|
}
|
|
|
|
// from_i8_string: returns a fake handle (0). Real mapping is in Rust NyKernel.
|
|
long nyash_box_from_i8_string(char* p) {
|
|
(void)p; // not used in design stage stub
|
|
return 0;
|
|
}
|
|
|
|
// Note: Additional array/map stubs intentionally omitted to avoid symbol
|
|
// clashes with the full NyKernel when linked together. Keep this file minimal
|
|
// (console only) for print canaries.
|