Files
hakorune/examples/jit_hostcall_array_append.hako
nyash-codex d7805e5974 feat(joinir): Phase 213-2 Step 2-2 & 2-3 Data structure extensions
Extended PatternPipelineContext and CarrierUpdateInfo for Pattern 3 AST-based generalization.

Changes:
1. PatternPipelineContext:
   - Added loop_condition: Option<ASTNode>
   - Added loop_body: Option<Vec<ASTNode>>
   - Added loop_update_summary: Option<LoopUpdateSummary>
   - Updated build_pattern_context() for Pattern 3

2. CarrierUpdateInfo:
   - Added then_expr: Option<ASTNode>
   - Added else_expr: Option<ASTNode>
   - Updated analyze_loop_updates() with None defaults

Status: Phase 213-2 Steps 2-2 & 2-3 complete
Next: Create Pattern3IfAnalyzer to extract if statement and populate update summary
2025-12-10 00:01:53 +09:00

12 lines
412 B
Plaintext

// Fallback case: Array.append/push is mutating; with read-only policy it should fallback
// Run: NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 ./target/release/hakorune --backend vm examples/jit_hostcall_array_append.hako
static box Main {
main() {
local xs
xs = new ArrayBox()
xs.push(1)
return xs.length() // expect 1 in VM; under JIT read-only policy push is denied → still 1 via VM path
}
}