diff --git a/.cspell.dict/cpython.txt b/.cspell.dict/cpython.txt
index f48bb332334..819d6875b58 100644
--- a/.cspell.dict/cpython.txt
+++ b/.cspell.dict/cpython.txt
@@ -54,6 +54,8 @@ eofs
evalloop
excepthandler
exceptiontable
+fastlocal
+fastlocals
fblock
fblocks
fdescr
@@ -171,6 +173,7 @@ SMALLBUF
SOABI
SSLEOF
stackdepth
+stackref
staticbase
stginfo
storefast
diff --git a/crates/vm/src/frame.rs b/crates/vm/src/frame.rs
index 132ad61a65b..f1175401676 100644
--- a/crates/vm/src/frame.rs
+++ b/crates/vm/src/frame.rs
@@ -1,7 +1,8 @@
#[cfg(feature = "flame")]
use crate::bytecode::InstructionMetadata;
use crate::{
- AsObject, Py, PyObject, PyObjectRef, PyPayload, PyRef, PyResult, TryFromObject, VirtualMachine,
+ AsObject, Py, PyObject, PyObjectRef, PyPayload, PyRef, PyResult, PyStackRef, TryFromObject,
+ VirtualMachine,
builtins::{
PyBaseException, PyBaseExceptionRef, PyCode, PyCoroutine, PyDict, PyDictRef, PyGenerator,
PyInterpolation, PyList, PySet, PySlice, PyStr, PyStrInterned, PyTemplate, PyTraceback,
@@ -60,7 +61,7 @@ enum UnwindReason {
struct FrameState {
// We need 1 stack per frame
/// The main data frame of the stack machine
- stack: BoxVec