Skip to content

Commit b9d1104

Browse files
committed
Bump MAX_REGISTERS to 256K for deep recursion
1 parent 4d01e68 commit b9d1104

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/vm.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,10 @@ use std::collections::HashMap;
66
use std::hash::{Hash, Hasher};
77
use std::rc::Rc;
88

9-
const MAX_REGISTERS: usize = 8192; // @TODO: Increased for deep recursion (fib needs ~30 depth)
10-
const MAX_FRAMES: usize = 1024;
9+
// Register file size - each function call uses ~(locals + 16) registers
10+
// For 10000 deep recursion with ~20 registers per call = 200000 registers
11+
const MAX_REGISTERS: usize = 262144; // 256K registers (~2MB) for deep recursion
12+
const MAX_FRAMES: usize = 16384; // 16K frames for deep recursion
1113

1214
/// A wrapper for interned symbol Rc<str> that hashes/compares by pointer
1315
/// Since symbols are interned, equal symbols share the same Rc, so pointer

0 commit comments

Comments
 (0)